Introduksjon til Hive innebygde funksjoner

Funksjoner er bygget for å utføre forskjellige analytiske krav og operasjoner som matematisk, logisk, aritmetisk og relasjonell, på enorme datasett og tabeller. Funksjoner brukes når vi må bruke lignende operasjoner flere ganger. I denne avanserte BigData-verdenen, for å håndtere og behandle enorme datasett, blir det vanskelig å skrive MapReduce-programmer. Så Hive Query Language (HQL) ble introdusert på toppen av Apache Hadoop i oktober 2010, der vi enkelt kan kjøre spørsmål, ligner på SQL. HQL-er konverteres videre internt til Mapreduce-programmer for å gi output. I dette emnet skal vi diskutere Hive innebygde funksjoner.

Hivefunksjoner er stort sett kategorisert i to:

  1. Innebygde funksjoner
  2. Brukerdefinerte funksjoner

Innebygde funksjoner av bikube

Innebygde funksjoner er forhåndsdefinerte og lett tilgjengelige å bruke i Hive. De er kategorisert som nedenfor:

1. Strengefunksjoner

Brukes til strengmanipulasjoner og transformasjon.

FunksjonsnavnReturtypeBeskrivelseEksempel
underlag (streng, int, int)stringDen returnerer en streng fra den spesifiserte startposisjonen til spesifisert lengdesubstr ('Hive-spørring', 5, 5) resulterer i 'spørring'
rtrim (streng X)stringDen returnerer en streng uten høyre ledende mellomromrtrim ('Hei') resulterer i 'Hei'
ltrim (streng X)stringDen returnerer en streng uten venstre ledende mellomromltrim ('Hei') resulterer i 'Hei'
omvendt (streng X)stringDen returnerer en omvendt streng med Xomvendt ('hei') resulterer i 'olleh'
rpad (streng X, int, streng)stringDen returnerer en høyre polstret streng med 'pad' til en lengde pårpad ('Hei', 3, 'hei') resulterer i 'Hallo hei hei'
lpad (streng X, int, streng)stringDen returnerer en venstre polstret streng med 'pad' til en lengde pålpad ('Hei', 3, 'Hei') resulterer i 'Hei Hei Hei Hallo'
delt (streng X, streng pat)ArrayDen returnerer en rekke strenger etter å ha delt strengen rundt det angitte mønsteretsplit ("A, B, C, D", ", ") resulterer i ('A', B ', ' C ', ' D ')
lengde (streng X)IntegerDen returnerer lengden på streng Xlengde ('Bigdata') resulterer i 7
concat (streng X, streng Y)stringDen returnerer en sammenslått streng av både X og Yconcat ('Hello', 'World') resulterer i 'HelloWorld'

2. Matematiske funksjoner

Brukes til å anvende matematiske operasjoner som avrunding, tak, gulv osv. I stedet for å lage UDF-er.

FunksjonsnavnReturtypeBeskrivelseEksempel
runde (dobbel X)DobbeltDen returnerer den avrundede verdien av Xrunde (29, 5) gir 30 resultater
runde (dobbel X, Int d)DobbeltDen returnerer den avrundede verdien av X til d desimalerrunde (29.3456, 2) resultater i 29.34
tak (dobbel X)DobbeltDen returnerer en minimum BIGINT-verdi som er lik eller større enn Xtak (20.5555) gir 21 resultater
etasje (dobbelt X)DobbeltDen returnerer en maksimal BIGINT-verdi som er lik eller større enn Xtak (20.5555) resulterer i 20
rand ()DobbeltDet gir tilfeldige tall mellom 0 og 9rand () resulterer i rand (0-9)
abs (dobbelt X)DobbeltDen returnerer den absolutte verdien av tallet Xabs (-25) gir 25 resultater
pow (dobbel X, dobbel Y)DobbeltDen returnerer X-verdien hevet til Y-kraftenpow (2, 3) gir 8
exp (dobbelt X)DobbeltDen returnerer eksponentverdien til Xexp (2) resultater i 7.389

3. Betingede funksjoner

Brukes til å sjekke et uttrykk for True eller False og returnerer tilsvarende resultater.

FunksjonsnavnReturtypeBeskrivelseEksempel
isnull (X)booleanDet returnerer SANN hvis X er NULL annet falskisnull ('NULL') returnerer i SANN
isnotnull (X)booleanDet returnerer SANN hvis X ikke er NULL annet falskisnotnull ('NULL') returnerer i FALSE
nvl (arg X, arg Y)stringDet returnerer arg Y hvis arg X er NULL ellers return arg argnvl ('NULL', 'Value is Null') resulterer i 'Value is Null'
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TDet returnerer sant når testtilstanden er sann og falsk eller nullif (2 = 2, 'True', 'False')
COALESCE (X, Y)(Noen)Den returnerer de første ikke-nullverdiene fra listen (Jeg er i tvil om dette - vil den returnere den aller første verdien eller alle ikke-nullverdiene?)coalesce (null, null, null, 1, 5, null, null, 6) resulterer i 1

4. Datofunksjoner

Brukes til å utføre dato manipulasjoner og konvertering av datatype.

FunksjonsnavnReturtypeBeskrivelseEksempel
dagens datoDatoDen returnerer gjeldende dato for henvendelsecurrent_date () returnerer dagens dato
unix_timestamp ()bigintDen returnerer gjeldende unix-tidsstempel for utførelse av spørring på få sekunderunix_timestamp () returnerer gjeldende unix-tidsstempel
år (strengdato)intDet returnerer årets del av en datoår ('1994-11-24') returnerer 1994
kvartal (strengdato)intDet returnerer kvartal året av en datokvartal ('1994-11-24') returnerer 4
måned (strengdato)intDen returnerer månedsdelen av en datomåned ('1994-11-24') returnerer 11
time (strengdato)intDen returnerer timedelen av tidsstemplettime ('1994-11-24 12:45:23') returnerer 12
minutt (strengdato)intDen returnerer minuttdelen av tidsstempletår ('1994-11-24 12:45:23') returnerer 45
TO_DATE ()stringDen returnerer datodelen av tidsstemplestrengento_date () returnerer datodel
date_sub (strengdato, int dager)stringDet returnerer subtraksjon av antall dager til datoendate_sub ('1994-11-24', 20) returnerer '1994-11-04'
months_between (dato1, dato2)DobbeltDet returnerer antall måneder mellom dato1 og dato2 (måneder eller antall dager?)months_between ('1994-11-24 ′, ' 1994-11-04 ') returnerer 20

5. Samlingsfunksjon

Brukes til å transformere og hente deler av samlingstyper som kart, matrise, etc.

FunksjonsnavnReturtypeBeskrivelseEksempel
størrelse (kart)intDet returnerer det totale antall elementer på kartetstørrelse (('a': 2, 'b': 6)) returnerer 2
størrelse (array)intDet returnerer det totale antall elementer i matrisenstørrelse ((1, 3, 4, 7)) returnerer 4
array_contains (matrise, verdi)booleanDet kommer tilbake hvis matrisen inneholder verdienarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) returnerer SANN
map_keys (kart)ArrayDet returnerer en uordnet rekke nøkler på kartetmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerer ('b', 'c', 'a')
map_valuess (kart)ArrayDet returnerer en uordnet rekke verdier på kartetmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerer (1, 6, 2)
sort_array (array)ArrayDen returnerer et sortert utvalg av den gitte matrisensort_array ((1, 3, 9, 8, 5, 4, 7)) returnerer (1, 3, 4, 5, 7, 8, 9)

Konklusjon

Så langt har vi diskutert forskjellige innebygde funksjoner i Hive. Sammenlignet med MapReduce, er Hive mer praktisk og tidsbesparende. Alle som har grunnleggende SQL-kunnskaper, kan enkelt skrive HQL-er, snarere enn kompliserte MapReduce-programmer for databehandling.

Anbefalte artikler

Dette er en guide til Hive innebygde funksjoner. Her diskuterer vi de innebygde funksjonene som er forhåndsdefinerte og lett tilgjengelige å bruke i Hive. Du kan også se på følgende artikkel for å lære mer -

  1. Hive-strengfunksjoner
  2. Hive-funksjon
  3. Hive-kommandoer
  4. Hive Arkitektur
  5. Hive Bestill av
  6. Installasjon av bikube
  7. Python innebygde funksjoner