Funksjoner er bygget for et bestemt formål å utføre operasjoner Som Matematisk, aritmetisk, logisk og relasjonell på operandene i tabellkolonnenavn.

Innebygde funksjoner

dette er funksjoner som allerede er tilgjengelige I Hive. Først må vi sjekke søknadskravet, og da kan vi bruke disse innebygde funksjonene i våre applikasjoner. Vi kan ringe disse funksjonene direkte i vår søknad.

syntaksen og typene er nevnt i følgende avsnitt.

Typer Innebygde Funksjoner I HIVE

  • Samlingsfunksjoner
  • Datofunksjoner
  • Matematiske Funksjoner
  • Betingede Funksjoner
  • Strengfunksjoner
  • Diverse. Funksjoner

Samlingsfunksjoner:

disse funksjonene brukes til samlinger. Samlinger betyr gruppering av elementer og retur av enkelt-eller matrise av elementer avhenger av returtypen som er nevnt i funksjonsnavnet.

Returtype Funksjonsnavn Beskrivelse
INT størrelse(Kart < K. V>) den vil hente og gi komponentnummeret i karttypen
INT størrelse(Matrise < T>) det vil hente og gi elementene nummer i matrisen typen
Array< K > Kart_keys(Kart < K. V>) det vil hente og gir en matrise som inneholder nøklene til inngangskartet. Her er array i uordnet
Array< V > Kart_verdier(Kart < K. V>) det vil hente og gir en matrise som inneholder verdiene av inngangskartet. Her er array i uordnet
Matrise < t > Sort_array(Matrise < T>) sorterer input array i stigende rekkefølge av array og elementer og returnerer den

Dato Funksjoner:

Disse brukes til å utføre Dato Manipulasjoner og Konvertering Av Dato typer fra en type til en annen type:

Funksjonsnavn Returtype Beskrivelse
Unix_Timestamp() BigInt vi vil få nåværende Unix tidsstempel på sekunder
To_date (streng tidsstempel) streng det vil hente og gi datoen en del av en tidsstempelstreng:
år (strengdato) INT det vil hente og gi året en del av en dato eller en tidsstempelstreng
kvartal (dato/tidsstempel/streng) INT det vil hente og gi kvartalet av året for en dato, tidsstempel eller streng i området 1 til 4
måned (strengdato) INT det vil gi måneden en del av en dato eller en tidsstempelstreng
time (streng dato) INT det vil hente og gir time av tidsstempel
minutt(streng dato) INT det vil hente og gir minutt av tidsstempel
Date_sub (string startdato, int dager) string det vil hente og gir Subtraksjon av antall dager til startdato
Current_date dato det vil hente og gir gjeldende dato ved starten av spørringsevaluering
SISTE _dag (strengdato) streng den vil hente og gir den siste dagen i måneden som datoen tilhører
trunc (string date, string format) string det vil hente og gir dato avkortet til enheten spesifisert av formatet.
Støttede formater i dette:
MÅNED / MAN / MM, ÅR / ÅÅÅÅ/ÅÅ.

Matematiske Funksjoner:

disse funksjonene brukes Til Matematiske Operasjoner. I stedet for creatingUDFs har vi noen innebygde matematiske funksjoner i Hive.

Funksjonsnavn Returtype Beskrivelse
rund (DOBBEL X) DOBBEL den vil hente Og returnerer den avrundede BIGINT-verdien Av X
runde (DOBBEL X, INT d) DOBBEL det vil hente Og returnerer x avrundet til d desimaler
bround (DOBBEL X) DOBBEL den henter og returnerer den avrundede BIGINT-verdien Av X ved HJELP AV HALF_EVEN avrundingsmodus
gulv (DOBBEL X) BIGINT den henter OG returnerer maksimal BIGINT-verdi som er lik Eller mindre Enn x-verdi
ceil(DOBBEL a), ceiling (DOBBEL a) BIGINT det vil hente OG returnerer minimum BIGINT verdi som er lik Eller større Enn X verdi
rand (), rand (int seed) DOUBLE det vil hente og returnerer et tilfeldig tall som fordeles jevnt fra 0 til 1

Betingede Funksjoner:

disse funksjonene brukes for betingede verdier sjekker.

Funksjonsnavn Returtype Beskrivelse
hvis(Boolsk testCondition, t valueTrue, T valueFalseOrNull) t det vil hente og gir verdi True når Testbetingelsen er sann, gir verdi False eller Null ellers.
ISNULL (X) Boolsk det vil hente og gir sant Hvis X ER NULL og falsk ellers.
ISNOTNULL (X ) Boolsk det vil hente og gir sant Hvis X ikke ER NULL og falsk ellers.

String Funksjoner:

String manipulasjoner og streng operasjoner disse funksjonene kan kalles.

Funksjonsnavn Returtype Beskrivelse
omvendt (streng X) streng Det vil gi den reverserte strengen Av X
rpad (string str, int lengde, string pad) string det vil hente og gir str, som er riktig polstret med pad til en lengde lengde (heltall verdi)
rtrim (streng X) streng det vil hente og returnerer strengen som følge av trimming mellomrom Fra slutten (høyre side) Av X For eksempel, rtrim (‘resultater’) resultater i ‘resultater’
space (INT n) string det vil hente og gir en streng av n mellomrom.
split (STRING str, STRING pat) array Deler str rundt pat (pat er et vanlig uttrykk).
Str_to_map (tekst) kart < Streng, Streng> det vil dele tekst i nøkkelverdipar ved hjelp av to skilletegn.

UDFs (Brukerdefinerte Funksjoner):

i Hive kan brukerne definere egne funksjoner for å møte visse klientkrav. Disse er kjent Som UDFs i Hive. Brukerdefinerte Funksjoner skrevet I Java for spesifikke moduler.

Noen Av UDFs er spesielt utviklet for gjenbruk av kode i applikasjonsrammer. Utvikleren vil utvikle disse funksjonene I Java og integrere Disse UDFs med Hive.

under Spørringen kan utvikleren direkte bruke koden, og UDFs vil returnere utganger i henhold til brukerdefinerte oppgaver. Det vil gi høy ytelse når det gjelder koding og utførelse.

for eksempel, for streng som stammer, har vi ingen forhåndsdefinert funksjon i Hive, for dette kan vi skrive stem UDF i Java. Uansett hvor vi trenger Stem-funksjonalitet, kan vi direkte ringe Denne Stem UDF i Hive.

Her stem funksjonalitet betyr å utlede ord fra sine rotord. Det er som stemming algoritme reduserer ordene «ønsker», «ønsket», og «ønsker» til roten ordet «ønske.»For å utføre denne typen funksjonalitet, kan vi skrive UDF i java og integrere Med Hive.

Avhengig av brukstilfellene Kan UDFs skrives, vil den akseptere og produsere forskjellige antall inngangs-og utgangsverdier.

den generelle typen UDF vil akseptere enkelt inngangsverdi og produsere en enkelt utgangsverdi. Hvis UDF brukes i spørringen, vil UDF bli kalt en gang for hver rad i resultatdatasettet.

på den andre måten kan den godta en gruppe verdier som inngang og returnere enkelt utgangsverdi også.

Posted on

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.