Introduktion till Hive Inbyggda funktioner

Funktioner är byggda för att utföra olika analytiska krav och operationer som matematiska, logiska, aritmetiska och relationella, på enorma datasätt och tabeller. Funktioner används när vi måste använda liknande operationer flera gånger. I denna avancerade BigData-värld blir det svårt att hantera och bearbeta enorma datamängder att skriva MapReduce-program. Så, Hive Query Language (HQL) introducerades ovanpå Apache Hadoop i oktober 2010, med vilka vi enkelt kan köra frågor, liknande SQL. HQL: er konverteras ytterligare internt till Mapreduce-program för att ge utgångarna. I det här ämnet kommer vi att diskutera Hive inbyggda funktioner.

Hivefunktioner kategoriseras i stort sett i två:

  1. Inbyggda funktioner
  2. Användardefinierade funktioner

Inbyggda Hive-funktioner

Inbyggda funktioner är fördefinierade och lätt tillgängliga att använda i Hive. De kategoriseras enligt nedan:

1. Strängfunktioner

Används för strängmanipulationer och transformation.

FunktionsnamnReturtypBeskrivningExempel
substr (sträng, int, int)SträngDen returnerar en sträng från den angivna startpositionen till angiven längdsubstr ('Hivefråga', 5, 5) resulterar i 'fråga'
rtrim (sträng X)SträngDen returnerar en sträng utan höger ledande mellanslagrtrim ('Hej') resulterar i 'Hej'
ltrim (sträng X)SträngDen returnerar en sträng utan vänster ledande mellanslagltrim ('Hej') resulterar i 'Hej'
omvänd (sträng X)SträngDet returnerar en omvänd sträng av Xomvänd ('hej') resulterar i 'olleh'
rpad (sträng X, int, sträng)SträngDen returnerar en höger vadderad sträng med 'pad' till en längd avrpad ("Hej", 3, "hej") resulterar i "Hej hej hej hej"
lpad (sträng X, int, sträng)SträngDen returnerar en vänster vadderad sträng med "pad" till en längd pålpad ('Hej', 3, 'Hej') resulterar i 'Hej Hej Hej Hej'
split (string X, string pat)ArrayDen returnerar en rad strängar efter att strängen har delats runt det angivna mönstretsplit ("A, B, C, D", ", ") resulterar i ('A', B ', ' C ', ' D ')
längd (sträng X)HeltalDen returnerar längden på sträng Xlängd ('Bigdata') resulterar i 7
concat (sträng X, sträng Y)SträngDet returnerar en sammanlänkad sträng av både X och Yconcat ('Hej', 'Värld') resulterar i 'HelloWorld'

2. Matematiska funktioner

Används för att tillämpa matematiska operationer som avrundning, tak, golv etc. istället för att skapa UDF: er.

FunktionsnamnReturtypBeskrivningExempel
runda (dubbel X)DubbelDet returnerar det avrundade värdet på Xomgång (29, 5) resulterar i 30
runda (dubbel X, Int d)DubbelDet returnerar det avrundade värdet på X till d decimaleromgång (29.3456, 2) resulterar i 29.34
tak (dubbel X)DubbelDet returnerar ett minimum BIGINT-värde som är lika med eller större än Xtak (20.5555) resulterar i 21
golv (dubbel X)DubbelDet ger ett maximalt BIGINT-värde som är lika med eller större än Xtak (20.5555) resulterar i 20
rand()DubbelDet ger slumpmässiga nummer mellan 0 till 9rand () resulterar i rand (0-9)
abs (dubbel X)DubbelDet returnerar absolutvärdet för siffran Xabs (-25) resulterar i 25
pow (dubbel X, dubbel Y)DubbelDet returnerar X-värde höjt till Y-effektenpow (2, 3) resulterar i 8
exp (dubbel X)DubbelDet returnerar exponentvärdet för Xexp (2) resulterar i 7.389

3. Villkorliga funktioner

Används för att kontrollera ett uttryck för True eller False och ger motsvarande resultat.

FunktionsnamnReturtypBeskrivningExempel
isnull (X)BooleanDet returnerar SANT om X är NULL annars falskisnull ('NULL') returnerar i SANT
isnotnull (X)BooleanDet returnerar SANT om X inte är NULL annars falsktisnotnull ('NULL') returnerar i FALSE
nvl (arg X, arg Y)SträngDen returnerar arg Y om arg X är NULL annars return arg argnvl ('NULL', 'Value is Null') resulterar i 'Value is Null'
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TDet returnerar sant när testvillkoret är sant och falskt eller nollt på annat sättif (2 = 2, 'True', 'False')
coalesce (X, Y)(Några)Det returnerar de första icke-nollvärdena från listan (Jag tvivlar på detta - kommer det att returnera det allra första värdet eller alla icke nollvärden?)coalesce (null, null, null, 1, 5, null, null, 6) resulterar i 1

4. Datumfunktioner

Används för att utföra datummanipulationer och konvertering av datumtyp.

FunktionsnamnReturtypBeskrivningExempel
dagens datumDatumDet returnerar det aktuella datumet för frågetillverkningaktuell_datum () returnerar dagens datum
unix_timestamp ()bigintDet returnerar den aktuella unix-tidsstämpeln för körning av frågan på några sekunderunix_timestamp () returnerar aktuell unix-tidsstämpel
år (strängdatum)intDet returnerar en del av ett datumår (1994-11-24) returnerar 1994
kvartal (strängdatum)intDet returnerar kvartalet av ett datumkvartal ('1994-11-24') returnerar 4
månad (strängdatum)intDet returnerar månadens del av ett datummånad ('1994-11-24') returnerar 11
timme (strängdatum)intDet returnerar timdelsdelen av tidsstämpelnhour ('1994-11-24 12:45:23') returnerar 12
minut (strängdatum)intDet returnerar minutdelen av tidsstämpelnår ('1994-11-24 12:45:23') returnerar 45
to_date ()SträngDet returnerar datumdelen av tidsstämpelsträngento_date () returnerar datumdel
date_sub (strängdatum, int-dagar)SträngDet returnerar subtraktion av antalet dagar till datumetdate_sub ('1994-11-24', 20) returnerar '1994-11-04'
months_between (datum1, datum2)DubbelDet returnerar antalet månader mellan datum1 och datum2 (månader eller inga dagar?)months_between ('1994-11-24 ′, ' 1994-11-04 ') returnerar 20

5. Samlingsfunktion

Används för att transformera och hämta delar av samlingstyper som karta, array etc.

FunktionsnamnReturtypBeskrivningExempel
storlek (karta)intDet returnerar det totala antalet element på kartanstorlek (('a': 2, 'b': 6)) returnerar 2
storlek (matris)intDet returnerar det totala antalet element i matrisenstorlek ((1, 3, 4, 7)) returnerar 4
array_contains (matris, värde)BooleanDet returnerar sant om matrisen innehåller värdetarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) returnerar SANT
map_keys (karta)ArrayDet returnerar en oordnad matris med nycklar på kartanmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerar ('b', 'c', 'a')
map_valuess (karta)ArrayDet returnerar ett oordnat antal värden på kartanmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerar (1, 6, 2)
sort_array (matris)ArrayDet returnerar en sorterad matris av den givna matrisensort_array ((1, 3, 9, 8, 5, 4, 7)) returnerar (1, 3, 4, 5, 7, 8, 9)

Slutsats

Hittills har vi diskuterat olika inbyggda funktioner i Hive. Jämfört med MapReduce är Hive mer bekvämt och tidsbesparande. Alla som har grundläggande SQL-kunskaper kan enkelt skriva HQL: er snarare än komplicerade MapReduce-program för databehandling.

Rekommenderade artiklar

Detta är en guide till Hive inbyggda funktioner. Här diskuterar vi de inbyggda funktionerna som är fördefinierade och lätt tillgängliga att använda i Hive. Du kan också titta på följande artikel för att lära dig mer -

  1. Hive strängfunktioner
  2. Hive-funktion
  3. Hive-kommandon
  4. Hive Arkitektur
  5. Hive Order by
  6. Hiveinstallation
  7. Python inbyggda funktioner

Kategori: