Inleiding tot ingebouwde functies van Hive

Functies zijn gebouwd om verschillende analytische vereisten en bewerkingen uit te voeren, zoals wiskundige, logische, rekenkundige en relationele, op enorme gegevenssets en tabellen. Functies worden gebruikt wanneer we soortgelijke bewerkingen meerdere keren moeten hergebruiken. In deze geavanceerde BigData-wereld wordt het schrijven van MapReduce-programma's moeilijk om enorme datasets te verwerken en verwerken. Daarom werd Hive Query Language (HQL) in oktober 2010 bovenop Apache Hadoop geïntroduceerd, waarmee we eenvoudig query's kunnen uitvoeren, vergelijkbaar met SQL. HQL's worden intern verder omgezet in Mapreduce-programma's om de output te leveren. In dit onderwerp gaan we de ingebouwde bijenkorffuncties bespreken.

Bijenkorffuncties zijn grofweg in twee categorieën onderverdeeld:

  1. Ingebouwde functies
  2. Door de gebruiker gedefinieerde functies

Ingebouwde functies van Hive

Ingebouwde functies zijn vooraf gedefinieerd en direct beschikbaar voor gebruik in Hive. Ze zijn als volgt gecategoriseerd:

1. Stringfuncties

Gebruikt voor stringmanipulaties en transformatie.

FunctienaamRetourtypeBeschrijvingVoorbeeld
substr (string, int, int)DraadHet retourneert een tekenreeks van de opgegeven startpositie naar de opgegeven lengtesubstr ('Hive query', 5, 5) resulteert in 'query'
rtrim (string X)DraadHet retourneert een tekenreeks zonder voorloopspatiesrtrim ('Hallo') resulteert in 'Hallo'
ltrim (string X)DraadHet retourneert een tekenreeks zonder voorloopspatiesltrim ('Hallo') resulteert in 'Hallo'
achteruit (string X)DraadHet retourneert een omgekeerde string van Xreverse ('hallo') resulteert in 'olleh'
rpad (string X, int, string)DraadHet geeft een recht opgevulde snaar met 'pad' terug tot een lengte vanrpad ('Hallo', 3, 'hallo') resulteert in 'Hallo hallo hallo hallo'
lpad (string X, int, string)DraadHet retourneert een linker opgevulde string met 'pad' tot een lengte vanlpad ('Hallo', 3, 'Hallo') resulteert in 'Hallo Hallo Hallo'
split (string X, string pat)reeksHet retourneert een reeks strings na het splitsen van de string rond het opgegeven patroonsplit ("A, B, C, D", ", ") resulteert in ('A', B ', ' C ', ' D ')
lengte (string X)Geheel getalHet geeft de lengte van string X teruglengte ('Bigdata') resulteert in 7
concat (string X, String Y)DraadHet retourneert een aaneengeschakelde reeks van zowel X als Yconcat ('Hello', 'World') resulteert in 'HelloWorld'

2. Wiskundige functies

Wordt gebruikt voor het toepassen van wiskundige bewerkingen zoals afronding, plafond, vloeren, enz. In plaats van UDF's te maken.

FunctienaamRetourtypeBeschrijvingVoorbeeld
ronde (dubbel X)DubbeleHet retourneert de afgeronde waarde van Xronde (29.5) resulteert in 30
ronde (dubbel X, Int d)DubbeleHet geeft de afgeronde waarde van X terug naar d decimalenronde (29.3456, 2) resulteert in 29.34
plafond (dubbel X)DubbeleHet retourneert een minimale BIGINT-waarde die gelijk is aan of groter is dan Xplafond (20.5555) resulteert in 21
vloer (dubbel X)DubbeleHet retourneert een maximale BIGINT-waarde die gelijk is aan of groter is dan Xplafond (20.5555) resulteert in 20
rand()DubbeleHet retourneert willekeurige getallen tussen 0 en 9rand () resulteert in rand (0-9)
abs (dubbel X)DubbeleHet geeft de absolute waarde van het getal X terugabs (-25) resulteert in 25
pow (dubbel X, dubbel Y)DubbeleHet retourneert X-waarde verhoogd naar de Y-machtpow (2, 3) resulteert in 8
exp (dubbel X)DubbeleHet retourneert de exponentwaarde van Xexp (2) resulteert in 7.389

3. Voorwaardelijke functies

Wordt gebruikt om een ​​expressie te controleren op Waar of Onwaar en retourneert overeenkomstige resultaten.

FunctienaamRetourtypeBeschrijvingVoorbeeld
IsNull (X)BooleanHet geeft WAAR terug als X NULL is, anders onwaarisnull ('NULL') retourneert in WAAR
isnotnull (X)BooleanHet geeft WAAR terug als X niet NULL is, anders onwaarisnotnull ('NULL') keert terug in FALSE
nvl (arg X, arg Y)DraadHet geeft arg Y terug als arg X NULL is anders retourneert arg Xnvl ('NULL', 'Value is Null') resulteert in 'Value is Null'
if (Booleaanse testCondition, T valueTrue, T valueFalseOrNull)THet geeft Waar terug als de testvoorwaarde waar is en anders Onwaar of Nullif (2 = 2, 'True', 'False')
coalesce (X, Y)(Ieder)Het retourneert de eerste niet-nulwaarden uit de lijst (ik twijfel hierover - zal het de allereerste waarde of alle niet-nulwaarden retourneren?)coalesce (null, null, null, 1, 5, null, null, 6) resulteert in 1

4. Datumfuncties

Gebruikt voor het uitvoeren van datummanipulaties en datumtype-conversies.

FunctienaamRetourtypeBeschrijvingVoorbeeld
huidige datumDatumHet geeft de huidige datum van uitvoering van de query terugcurrent_date () retourneert de datum van vandaag
unix_timestamp ()bigintHet retourneert het huidige unix-tijdstempel van de uitvoering van de zoekopdracht in secondenunix_timestamp () retourneert huidige unix-tijdstempel
jaar (tekenreeksdatum)IntHet retourneert het jaargedeelte van een datumjaar ('1994-11-24') retourneert 1994
kwart (tekenreeksdatum)IntHet geeft het kwartaal van het jaar van een datum terugquarter ('1994-11-24') geeft 4 terug
maand (tekenreeksdatum)IntHet geeft het maandgedeelte van een datum terugmonth ('1994-11-24') retourneert 11
uur (tekenreeksdatum)IntHet geeft het uurgedeelte van de tijdstempel terughour ('1994-11-24 12:45:23') levert 12 op
minuut (tekenreeksdatum)IntHet geeft het minieme deel van de tijdstempel terugjaar ('1994-11-24 12:45:23') retourneert 45
uitgaan()DraadHet retourneert een datumgedeelte van een tijdstempelreeksto_date () retourneert het datumgedeelte
date_sub (tekenreeksdatum, int dagen)DraadHet trekt het aantal dagen terug naar de datumdate_sub ('1994-11-24', 20) retourneert '1994-11-04'
MONTHS_BETWEEN (date1, date2)DubbeleRetourneert het aantal maanden tussen datum1 en datum2 (maanden of aantal dagen?)months_between ('1994-11-24 ′, ' 1994-11-04 ') retourneert 20

5. Collectiefunctie

Gebruikt voor het transformeren en ophalen van delen van collectietypen zoals map, array, etc.

FunctienaamRetourtypeBeschrijvingVoorbeeld
grootte (kaart)IntHet geeft het totale aantal elementen op de kaart terugsize (('a': 2, 'b': 6)) retourneert 2
grootte (matrix)IntHet geeft het totale aantal elementen in de array teruggrootte ((1, 3, 4, 7)) geeft 4 terug
array_contains (array, value)BooleanHet geeft true terug als de array de waarde bevatarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) geeft WAAR terug
map_keys (kaart)reeksHet retourneert een ongeordende reeks sleutels van de kaartmap_keys (('a': 2, 'b': 6, 'c': 1)) retourneert ('b', 'c', 'a')
map_valuess (kaart)reeksHet retourneert een ongeordende reeks waarden van de kaartmap_keys (('a': 2, 'b': 6, 'c': 1)) retourneert (1, 6, 2)
sort_array (array)reeksHet retourneert een gesorteerde array van de gegeven arraysort_array ((1, 3, 9, 8, 5, 4, 7)) retourneert (1, 3, 4, 5, 7, 8, 9)

Conclusie

Tot dusverre hebben we verschillende ingebouwde functies in Hive besproken. In vergelijking met MapReduce is Hive handiger en tijdbesparend. Iedereen die over basiskennis van SQL beschikt, kan eenvoudig HQL's schrijven in plaats van ingewikkelde MapReduce-programma's voor gegevensverwerking.

Aanbevolen artikelen

Dit is een handleiding voor ingebouwde functies van Hive. Hier bespreken we de ingebouwde functies die vooraf zijn gedefinieerd en direct beschikbaar zijn voor gebruik in Hive. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Hive String-functies
  2. Bijenkorffunctie
  3. Hive Commands
  4. Bijenkorf architectuur
  5. Bijenkorf sorteren op
  6. Bijenkorfinstallatie
  7. Python ingebouwde functies