Introduktion til Hive indbyggede funktioner

Funktioner er bygget til at udføre forskellige analytiske krav og operationer som matematisk, logisk, aritmetisk og relationel, på enorme datasæt og tabeller. Funktioner bruges, når vi skal genbruge lignende operationer flere gange. I denne avancerede BigData-verden, til at håndtere og behandle enorme datasæt, bliver det svært at skrive MapReduce-programmer. Så Hive Query Language (HQL) blev introduceret oven på Apache Hadoop i oktober 2010, ved hjælp af hvilke vi let kan køre forespørgsler, svarende til SQLs. HQL'er konverteres yderligere internt til Mapreduce-programmer for at give output. I dette emne skal vi diskutere indbyggede funktioner i Hive.

Hive-funktioner er stort set kategoriseret i to:

  1. Indbyggede funktioner
  2. Brugerdefinerede funktioner

Indbyggede Hive-funktioner

Indbyggede funktioner er foruddefinerede og let tilgængelige til brug i Hive. De er kategoriseret som nedenfor:

1. Strengefunktioner

Bruges til strengmanipulationer og transformation.

FunktionsnavnReturtypeBeskrivelseEksempel
substr (streng, int, int)SnorDet returnerer en streng fra den specificerede startposition til den specificerede længdesubstr ('Hive-forespørgsel', 5, 5) resulterer i 'forespørgsel'
rtrim (streng X)SnorDen returnerer en streng uden højre førende mellemrumrtrim ('Hej') resulterer i 'Hej'
ltrim (streng X)SnorDet returnerer en streng uden venstre førende mellemrumltrim ('Hej') resulterer i 'Hej'
omvendt (streng X)SnorDen returnerer en vendt streng med Xreverse ('hej') resulterer i 'olleh'
rpad (streng X, int, streng)SnorDen returnerer en højre polstret streng med 'pude' til en længde pårpad ('Hej', 3, 'hej') resulterer i 'Hej hej hej hej'
lpad (streng X, int, streng)SnorDen returnerer en venstre polstret streng med 'pude' til en længde pålpad ('Hej', 3, 'Hej') resulterer i 'Hej Hej Hej Hej'
split (streng X, streng pat)ArrayDet returnerer en matrix af strenge efter opdeling af strengen omkring det specificerede mønstersplit ("A, B, C, D", ", ") resulterer i ('A', B ', ' C ', ' D ')
længde (streng X)HeltalDen returnerer længden på streng Xlængde ('Bigdata') resulterer i 7
concat (streng X, streng Y)SnorDet returnerer en sammenkædet streng af både X og Yconcat ('Hello', 'World') resulterer i 'HelloWorld'

2. Matematiske funktioner

Bruges til anvendelse af matematiske operationer som afrunding, loft, gulve osv. I stedet for at oprette UDF'er.

FunktionsnavnReturtypeBeskrivelseEksempel
runde (dobbelt X)DobbeltDen returnerer den afrundede værdi af Xrunde (29.5) resultater i 30
runde (dobbelt X, Int d)DobbeltDen returnerer den afrundede værdi af X til d decimalerrunde (29.3456, 2) resultater i 29.34
loft (dobbelt X)DobbeltDet returnerer en minimum BIGINT-værdi, der er lig med eller større end Xloft (20.5555) resulterer i 21
etage (dobbelt X)DobbeltDet returnerer en maksimal BIGINT-værdi, der er lig med eller større end Xloft (20.5555) resulterer i 20
rand ()DobbeltDet returnerer tilfældige tal mellem 0 og 9rand () resulterer i rand (0-9)
abs (dobbelt X)DobbeltDen returnerer den absolutte værdi af tallet Xabs (-25) resulterer i 25
pow (dobbelt X, dobbelt Y)DobbeltDen returnerer X-værdien hævet til Y-strømmenpow (2, 3) resulterer i 8
exp (dobbelt X)DobbeltDet returnerer eksponentværdien af ​​Xexp (2) resultater i 7.389

3. Betingede funktioner

Bruges til at kontrollere et udtryk for sandt eller falsk og returnerer tilsvarende resultater.

FunktionsnavnReturtypeBeskrivelseEksempel
isnull (X)BooleanDet returnerer SAND, hvis X er NULL ellers falskisnull ('NULL') vender tilbage i SAND
isnotnull (X)BooleanDet returnerer Sande, hvis X ikke er NULL ellers falskisnotnull ('NULL') returnerer i FALSE
nvl (arg X, arg Y)SnorDen returnerer arg Y, hvis arg X er NULL ellers returnerer arg Xnvl ('NULL', 'Value is Null') resulterer i 'Value is Null'
if (Boolean testCondition, T valueTrue, T valueFalseOrNull)TDet vender tilbage sandt, når testbetingelsen er sand, og falsk eller nullhvis (2 = 2, 'sandt', 'falskt')
COALESCE (X, Y)(Nogen)Det returnerer de første ikke-nul-værdier fra listen (Jeg er i tvivl om dette - vil den returnere den allerførste værdi eller alle ikke-nul værdier?)coalesce (null, null, null, 1, 5, null, null, 6) resulterer i 1

4. Datofunktioner

Bruges til udførelse af datomanipulationer og konvertering af datatype.

FunktionsnavnReturtypeBeskrivelseEksempel
nuværende datoDatoDen returnerer den aktuelle dato for udførelse af forespørgselaktuelle_dato () returnerer dagens dato
unix_timestamp ()BIGINTDet returnerer det aktuelle unix-tidsstempel for udførelse af forespørgsel i sekunderunix_timestamp () returnerer den aktuelle unix-tidsstempel
år (streng dato)IntDet returnerer årets del af en datoår ('1994-11-24') vender tilbage 1994
kvartal (streng dato)IntDet returnerer kvartalets år af en datokvartal ('1994-11-24') returnerer 4
måned (streng dato)IntDet returnerer månedsdelen af ​​en datomåned ('1994-11-24') vender tilbage 11
time (streng dato)IntDet returnerer timedelen af ​​tidsstemplettime ('1994-11-24 12:45:23') returnerer 12
minut (streng dato)IntDen returnerer minutdelen af ​​tidsstempletår ('1994-11-24 12:45:23') returnerer 45
til dato()SnorDen returnerer datodelen af ​​tidsstemplestrengento_date () returnerer datodel
date_sub (strengdato, int dage)SnorDet returnerer subtraktion af antallet af dage til datoendate_sub ('1994-11-24', 20) returnerer '1994-11-04'
months_between (dato1, dato2)DobbeltDet returnerer antallet af måneder mellem dato1 og dato2 (måneder eller antal dage?)months_between ('1994-11-24 ′, ' 1994-11-04 ') returnerer 20

5. Samlingsfunktion

Bruges til at transformere og hente dele af samlingstyper som kort, matrix osv.

FunktionsnavnReturtypeBeskrivelseEksempel
størrelse (kort)IntDet returnerer det samlede antal elementer på kortetstørrelse (('a': 2, 'b': 6)) returnerer 2
størrelse (array)IntDet returnerer det samlede antal elementer i matrixenstørrelse ((1, 3, 4, 7)) returnerer 4
array_contains (array, værdi)BooleanDet vender tilbage, hvis arrayet indeholder værdienarray_contains ((1, 3, 9, 8, 5, 4, 7), 5) returnerer SAND
map_keys (kort)ArrayDet returnerer en uordnet række af nøgler på kortetmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerer ('b', 'c', 'a')
map_valuess (kort)ArrayDet returnerer en uordnet række af værdier på kortetmap_keys (('a': 2, 'b': 6, 'c': 1)) returnerer (1, 6, 2)
sort_array (array)ArrayDet returnerer en sorteret matrix af den givne matrixsort_array ((1, 3, 9, 8, 5, 4, 7)) returnerer (1, 3, 4, 5, 7, 8, 9)

Konklusion

Indtil videre har vi drøftet forskellige indbyggede funktioner i Hive. Sammenlignet med MapReduce er Hive mere praktisk og tidsbesparende. Enhver, der har grundlæggende SQL-viden, kan let skrive HQL'er i stedet for komplicerede MapReduce-programmer til databehandling.

Anbefalede artikler

Dette er en guide til Hive indbyggede funktioner. Her diskuterer vi de indbyggede funktioner, der er foruddefineret og let tilgængelige til brug i Hive. Du kan også se på den følgende artikel for at lære mere -

  1. Hive-strengfunktioner
  2. Hive-funktion
  3. Hive-kommandoer
  4. Hive Arkitektur
  5. Hive ordre af
  6. Hive installation
  7. Python indbyggede funktioner

Kategori: