Hive - wbudowane funkcje

W tym rozdziale opisano wbudowane funkcje dostępne w Hive. Funkcje wyglądają podobnie do funkcji SQL, z wyjątkiem ich użycia.

Wbudowane funkcje

Hive obsługuje następujące funkcje wbudowane:

Typ zwrotu Podpis Opis
BIGINT okrągłe (podwójne a) Zwraca zaokrągloną BIGINT wartość double.
BIGINT piętro (podwójne a) Zwraca maksymalną wartość BIGINT, która jest równa lub mniejsza od double.
BIGINT Ceil (podwójne a) Zwraca minimalną wartość BIGINT, która jest równa lub większa od double.
podwójnie rand (), rand (int seed) Zwraca losową liczbę, która zmienia się z wiersza na wiersz.
strunowy concat (ciąg A, ciąg B, ...) Zwraca ciąg wynikający z konkatenacji B po A.
strunowy substr (ciąg A, int start) Zwraca podłańcuch A, zaczynając od pozycji początkowej do końca ciągu A.
strunowy substr (ciąg A, int start, int length) Zwraca podciąg A, zaczynając od pozycji początkowej o podanej długości.
strunowy górna (ciąg A) Zwraca ciąg będący wynikiem konwersji wszystkich znaków A na wielkie litery.
strunowy ucase (ciąg A) Tak samo jak powyżej.
strunowy dolny (ciąg A) Zwraca ciąg będący wynikiem konwersji wszystkich znaków z B na małe litery.
strunowy lcase (ciąg A) Tak samo jak powyżej.
strunowy wykończenie (ciąg A) Zwraca ciąg wynikający z obcięcia spacji z obu końców A.
strunowy ltrim (ciąg A) Zwraca ciąg wynikający z przycinania spacji z początku (lewej strony) A.
strunowy rtrim (ciąg A) rtrim (string A) Zwraca ciąg wynikający z obcięcia spacji z końca (prawej strony) A.
strunowy regexp_replace (ciąg A, ciąg B, ciąg C) Zwraca ciąg wynikający z zastąpienia wszystkich podciągów w B, które pasują do składni wyrażenia regularnego Java przez C.
int rozmiar (Mapa <KV>) Zwraca liczbę elementów w typie mapy.
int rozmiar (Array <T>) Zwraca liczbę elementów w typie tablicy.
wartość <typ> cast (<expr> as <type>) Konwertuje wyniki wyrażenia wyraż na <typ>, np. Cast („1” jako BIGINT) konwertuje ciąg „1” na reprezentację całkową. Jeśli konwersja nie powiedzie się, zwracana jest wartość NULL.
strunowy from_unixtime (int unixtime) przekonwertować liczbę sekund z epoki systemu Unix (1970-01-01 00:00:00 UTC) na ciąg znaków reprezentujący znacznik czasu tego momentu w bieżącej strefie czasowej systemu w formacie „1970-01-01 00:00: 00 "
strunowy to_date (sygnatura czasowa ciągu) Zwraca część daty w ciągu znacznika czasu: to_date („1970-01-01 00:00:00”) = „1970-01-01”
int rok (data ciągu) Zwraca część roku z daty lub ciągu znacznika czasu: rok („1970-01-01 00:00:00”) = 1970, rok („1970-01-01”) = 1970
int miesiąc (string data) Zwraca część miesiąca z daty lub ciągu znacznika czasu: miesiąc („1970-11-01 00:00:00”) = 11, miesiąc („1970-11-01”) = 11
int dzień (string data) Zwraca część dnia z daty lub ciągu znacznika czasu: day („1970-11-01 00:00:00”) = 1, day („1970-11-01”) = 1
strunowy get_json_object (string json_string, string path) Wyodrębnia obiekt json z ciągu json na podstawie określonej ścieżki json i zwraca ciąg json wyodrębnionego obiektu json. Zwraca NULL, jeśli wejściowy ciąg json jest nieprawidłowy.

Przykład

Poniższe zapytania pokazują niektóre funkcje wbudowane:

funkcja round ()

hive> SELECT round(2.6) from temp;

Po pomyślnym wykonaniu zapytania zobaczysz następującą odpowiedź:

3.0

floor (), funkcja

hive> SELECT floor(2.6) from temp;

Po pomyślnym wykonaniu zapytania zobaczysz następującą odpowiedź:

2.0

ceil (), funkcja

hive> SELECT ceil(2.6) from temp;

Po pomyślnym wykonaniu zapytania zobaczysz następującą odpowiedź:

3.0

Funkcje agregujące

Hive obsługuje następujące wbudowane aggregate functions. Użycie tych funkcji jest takie samo, jak funkcji agregujących SQL.

Typ zwrotu Podpis Opis
BIGINT count (*), count (wyr), count (*) - zwraca całkowitą liczbę pobranych wierszy.
PODWÓJNIE suma (kolumna), suma (DISTINCT kolumna) Zwraca sumę elementów w grupie lub sumę odrębnych wartości kolumny w grupie.
PODWÓJNIE śr. (kol.), śr. (kol. DISTINCT) Zwraca średnią elementów w grupie lub średnią odrębnych wartości kolumny w grupie.
PODWÓJNIE min (kol) Zwraca minimalną wartość kolumny w grupie.
PODWÓJNIE max (kol) Zwraca maksymalną wartość kolumny w grupie.