Wprowadzenie do wbudowanych funkcji Hive

Funkcje są budowane w celu wykonywania różnych wymagań analitycznych i operacji, takich jak matematyczne, logiczne, arytmetyczne i relacyjne, na ogromnych zestawach danych i tabelach. Funkcje są używane, gdy musimy wielokrotnie wykorzystywać podobne operacje. W tym zaawansowanym świecie BigData do obsługi i przetwarzania ogromnych zestawów danych pisanie programów MapReduce staje się trudne. Tak więc Hive Query Language (HQL) został wprowadzony na Apache Hadoop w październiku 2010 roku, dzięki czemu możemy łatwo uruchamiać zapytania, podobnie jak SQLs. HQL są dalej wewnętrznie konwertowane na programy Mapreduce w celu uzyskania wyników. W tym temacie omówimy wbudowane funkcje Hive.

Funkcje gałęzi są zasadniczo podzielone na dwie części:

  1. Wbudowane funkcje
  2. Funkcje zdefiniowane przez użytkownika

Wbudowane funkcje gałęzi

Wbudowane funkcje są predefiniowane i łatwo dostępne do użycia w gałęzi. Są one podzielone na następujące kategorie:

1. Funkcje ciągów

Służy do manipulacji ciągami i transformacji.

Nazwa funkcjiRodzaj zwrotuOpisPrzykład
substr (ciąg, int, int)StrunowyZwraca ciąg znaków od określonej pozycji początkowej do określonej długościsubstr („Hive query”, 5, 5) powoduje „zapytanie”
rtrim (ciąg X)StrunowyZwraca ciąg bez spacji wiodącychrtrim („Cześć”) powoduje „Cześć”
ltrim (ciąg X)StrunowyZwraca ciąg bez pozostawionych spacji wiodącychltrim („Cześć”) powoduje „Cześć”
rewers (ciąg X)StrunowyZwraca odwrócony ciąg Xreverse („hello”) powoduje „olleh”
rpad (ciąg X, int, ciąg)StrunowyZwraca wyściełany prawym sznurkiem „pad” na długośćrpad („Cześć”, 3, „cześć”) powoduje „Cześć cześć cześć”
lpad (ciąg X, int, ciąg)StrunowyZwraca wyściełany lewy sznur z „podkładką” na długośćlpad („Cześć”, 3, „Cześć”) powoduje „Cześć Cześć Cześć”
podział (ciąg X, ciąg ciąg)SzykZwraca tablicę ciągów po podzieleniu ciągu wokół określonego wzorcasplit („A, B, C, D”, ”, ”) skutkuje („A”, B ”, „ C ”, „ D ”)
długość (ciąg X)Liczba całkowitaZwraca długość ciągu Xdługość („Bigdata”) daje 7
concat (ciąg X, ciąg Y)StrunowyZwraca połączony ciąg zarówno X, jak i Yconcat („Hello”, „World”) powoduje „HelloWorld”

2. Funkcje matematyczne

Służy do stosowania operacji matematycznych, takich jak zaokrąglanie, sufit, podłoga itp. Zamiast tworzenia UDF.

Nazwa funkcjiRodzaj zwrotuOpisPrzykład
okrągły (podwójne X)PodwójnieZwraca zaokrągloną wartość Xrunda (29, 5) daje wynik 30
okrągłe (podwójne X, Int d)PodwójnieZwraca zaokrągloną wartość X do d miejsc dziesiętnychrunda (29, 3466, 2) daje 29, 34
sufit (podwójne X)PodwójnieZwraca minimalną wartość BIGINT równą lub większą niż Xceil (20.5555) daje 21
podłoga (podwójne X)PodwójnieZwraca maksymalną wartość BIGINT równą lub większą niż Xceil (20.5555) daje 20
skraj()PodwójnieZwraca losowe liczby od 0 do 9rand () powoduje rand (0-9)
abs (podwójne X)PodwójnieZwraca wartość bezwzględną liczby Xabs (-25) daje 25
pow (podwójne X, podwójne Y)PodwójnieZwraca wartość X podniesioną do potęgi Y.pow (2, 3) daje 8
exp (podwójne X)PodwójnieZwraca wartość wykładnika Xexp (2) daje 7, 389

3. Funkcje warunkowe

Służy do sprawdzania wyrażenia True lub False i zwraca odpowiednie wyniki.

Nazwa funkcjiRodzaj zwrotuOpisPrzykład
isnull (X)BooleanZwraca PRAWDA, jeśli X ma wartość NULL, w przeciwnym razie fałszisnull („NULL”) zwraca TRUE
isnotnull (X)BooleanZwraca PRAWDA, jeśli X nie ma wartości NULL, w przeciwnym razie fałszisnotnull („NULL”) zwraca FALSE
nvl (arg X, arg Y)StrunowyZwraca arg Y, jeśli arg X ma wartość NULL, w przeciwnym razie zwraca arg Xnvl („NULL”, „Value is Null”) powoduje, że „Value is Null”
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)T.Zwraca wartość True, gdy warunek testu jest spełniony, w przeciwnym razie False lub Nullif (2 = 2, „True”, „False”)
koalescencja (X, Y)(Każdy)Zwraca pierwsze niepuste wartości z listy (Mam co do tego wątpliwości - czy zwróci pierwszą wartość, czy wszystkie wartości niepuste?)coalesce (null, null, null, 1, 5, null, null, 6) daje 1

4. Funkcje daty

Służy do wykonywania operacji na danych i konwersji typu daty.

Nazwa funkcjiRodzaj zwrotuOpisPrzykład
bieżąca dataDataZwraca bieżącą datę wykonania zapytaniacurrent_date () zwraca dzisiejszą datę
unix_timestamp ()BigIntZwraca bieżący uniksowy znacznik czasu wykonania zapytania w sekundachunix_timestamp () zwraca bieżący znacznik czasu unix
rok (data ciągu)IntZwraca część roku z datyrok („1994-11-24”) zwraca 1994
kwartał (data ciągu)IntZwraca kwartał roku datykwartał („1994-11-24”) zwraca 4
miesiąc (data ciągu)IntZwraca część daty z miesiącamiesiąc („1994-11-24”) zwraca 11
godzina (data ciągu)IntZwraca część godziny znacznika czasugodzina („1994-11-24 12:45:23”) zwraca 12
minuta (data ciągu)IntZwraca minutową część znacznika czasurok („1994-11-24 12:45:23”) zwraca 45
spotykać się z kimś()StrunowyZwraca część daty ciągu znacznika czasuto_date () zwraca część daty
date_sub (data ciągu, int dni)StrunowyZwraca odejmowanie liczby dni od datydate_sub („1994-11-24”, 20) zwraca „1994-11-04”
months_between (data1, data2)PodwójnieZwraca liczbę miesięcy między datą 1 a datą 2 (miesiące czy liczba dni?)months_between („1994-11-24”, „1994-11-04”) zwraca 20

5. Funkcja zbierania

Służy do przekształcania i pobierania części typów kolekcji, takich jak mapa, tablica itp.

Nazwa funkcjiRodzaj zwrotuOpisPrzykład
rozmiar (mapa)IntZwraca całkowitą liczbę elementów na mapierozmiar ((„a”: 2, „b”: 6)) zwraca 2
rozmiar (tablica)IntZwraca całkowitą liczbę elementów w tablicysize ((1, 3, 4, 7)) zwraca 4
array_contains (tablica, wartość)BooleanZwraca true, jeśli tablica zawiera wartośćarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) zwraca PRAWDA
map_keys (mapa)SzykZwraca nieuporządkowaną tablicę kluczy mapymap_keys (('a': 2, 'b': 6, 'c': 1)) zwraca ('b', 'c', 'a')
map_valuess (mapa)SzykZwraca nieuporządkowaną tablicę wartości mapymap_keys (('a': 2, 'b': 6, 'c': 1)) zwraca (1, 6, 2)
sort_array (tablica)SzykZwraca posortowaną tablicę podanej tablicysort_array ((1, 3, 9, 8, 5, 4, 7)) zwraca (1, 3, 4, 5, 7, 8, 9)

Wniosek

Do tej pory omawialiśmy różne wbudowane funkcje w Hive. W porównaniu do MapReduce, Hive jest wygodniejszy i oszczędza czas. Każdy, kto ma podstawową wiedzę SQL, może z łatwością pisać HQL-y, a nie skomplikowane programy MapReduce do przetwarzania danych.

Polecane artykuły

Jest to przewodnik po wbudowanych funkcjach programu Hive. Tutaj omawiamy Wbudowane Funkcje, które są predefiniowane i łatwo dostępne do użycia w Hive. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Funkcje ciągu gałęzi
  2. Funkcja gałęzi
  3. Polecenia gałęzi
  4. Architektura ula
  5. Hive Order By
  6. Instalacja ula
  7. Wbudowane funkcje Pythona