funktioner er bygget til et bestemt formål til at udføre operationer som matematisk, aritmetisk, logisk og relationel på operanderne i tabelkolonnenavne.

indbyggede funktioner

dette er funktioner, der allerede er tilgængelige i Hive. Først skal vi kontrollere applikationskravet, og så kan vi bruge disse indbyggede funktioner i vores applikationer. Vi kan kalde disse funktioner direkte i vores applikation.

syntaksen og typerne er nævnt i det følgende afsnit.

typer af indbyggede funktioner i HIVE

  • Samlingsfunktioner
  • Datofunktioner
  • matematiske funktioner
  • betingede funktioner
  • strengfunktioner
  • Misc. Funktioner

Samlingsfunktioner:

disse funktioner bruges til samlinger. Samlinger betyder gruppering af elementer, og returnering af enkelt eller array af elementer afhænger af returtype nævnt i funktionsnavn.

returtype Funktionsnavn beskrivelse
int størrelse (kort< K. V>) det vil hente og give komponenterne nummer i korttypen
int størrelse (Array< T>) det vil hente og give elementerne nummer i array typen
Array<K> Map_keys (kort< K. V>) det vil hente og giver et array, der indeholder nøglerne til input kortet. Her er array i uordnet
Array<V > Map_values (kort< K. V>) det vil hente og giver et array, der indeholder værdierne af input kortet. Her er array i uordnet
Array<t> Sort_array (Array<T>) sorterer input array i stigende rækkefølge af array og elementer og returnerer det

Dato funktioner:

disse bruges til at udføre Datomanipulationer og konvertering af datatyper fra en type til en anden type:

Funktionsnavn returtype beskrivelse
Unik_timestamp () BigInt vi får nuværende unik tidsstempel på få sekunder
To_date (string tidsstempel) string det vil hente og give datoen del af en tidsstempel streng:
år (string date) INT det henter og giver året en del af en dato eller en tidsstempelstreng
kvartal (dato/tidsstempel/streng) INT det henter og giver årets kvartal for en dato, tidsstempel eller streng i området 1 til 4
måned (streng dato) INT det vil give månedens del af en dato eller en tidsstempelstreng
time (string dato) INT det vil hente og giver time af tidsstemplet
minut (streng dato) INT det vil hente og giver minut af tidsstemplet
Date_sub (string startdato, int dage) string det vil hente og giver subtraktion af antal dage til startdato
Current_date Dato den henter og giver den aktuelle dato i starten af forespørgselsevalueringen
sidste _dag (string dato) string det vil hente og giver den sidste dag i den måned, som datoen tilhører
trunc (string date, string format) string det vil hente og giver Dato afkortet til enheden angivet af formatet.
understøttede formater i dette:
måned/man/MM, år/ÅÅÅÅ/ÅÅÅÅ.

matematiske funktioner:

disse funktioner bruges til matematiske operationer. I stedet for creatingUDFs har vi nogle indbyggede matematiske funktioner i Hive.

Funktionsnavn returtype beskrivelse
runde (dobbelt) dobbelt det vil hente og returnerer den afrundede BIGINT værdi af
runde (dobbelt, INT d) dobbelt det vil hente og returnerer rundet til D decimaler
bround (dobbelt) dobbelt den henter og returnerer den afrundede BIGINT-værdi ved hjælp af half_even afrundingstilstand
gulv (dobbelt) BIGINT den henter og returnerer den maksimale BIGINT-værdi, der er lig med eller mindre end
loft(dobbelt A), Loft (dobbelt A) BIGINT det henter og returnerer den mindste BIGINT-værdi, der er lig med eller større end
rand (), rand (int seed) dobbelt det henter og returnerer et tilfældigt tal, der fordeles ensartet fra 0 til 1

betingede funktioner:

disse funktioner bruges til kontrol af betingede værdier.

Funktionsnavn returtype beskrivelse
hvis (boolsk testCondition, t valueTrue, T valueFalseOrNull) T det vil hente og giver værdi sand, når Testbetingelsen er sand, giver værdi falsk eller Null ellers.
ISNULL (s) boolsk det vil hente og giver sand, hvis S er NULL og falsk ellers.
ISNOTNULL (s ) boolsk det vil hente og giver sand, hvis ikke er NULL og falsk ellers.

String funktioner:

String manipulationer og string operationer disse funktioner kan kaldes.

Funktionsnavn returtype beskrivelse
reverse (streng) streng det vil give den omvendte streng af
rpad (string str, int længde, string pad) string det vil hente og giver str, som er højre-polstret med pad til en længde af længde(heltal værdi)
rtrim (streng) streng det vil hente og returnerer strengen som følge af trimning mellemrum fra enden (højre side) af eksempel, rtrim (‘resultater’) resulterer i ‘resultater’
space (INT n) string det vil hente og giver en streng af N mellemrum.
split (STRING str, STRING pat) array opdeler str omkring pat (pat er et regulært udtryk).
Str_to_map (tekst) kort<streng ,streng> det vil opdele tekst i nøgleværdipar ved hjælp af to afgrænsere.

Udf ‘ Er (Brugerdefinerede Funktioner):

I Hive kan brugerne definere egne funktioner for at imødekomme visse klientkrav. Disse er kendt som UDFs i Hive. Brugerdefinerede funktioner skrevet i Java til specifikke moduler.

nogle af UDFs er specielt designet til genbrug af kode i applikationsrammer. Udvikleren vil udvikle disse funktioner i Java og integrere disse UDF ‘ er med Hive.

under Forespørgselsudførelsen kan udvikleren direkte bruge koden, og UDFs returnerer output i henhold til de brugerdefinerede opgaver. Det vil give høj ydeevne med hensyn til kodning og udførelse.

for eksempel til strengstamme har vi ikke nogen foruddefineret funktion i Hive, for dette kan vi skrive stem udf i Java. Uanset hvor vi har brug for Stem-funktionalitet, kan vi direkte kalde denne Stem udf i Hive.

her betyder stem-funktionalitet at udlede ord fra dets rodord. Det er som at stemme algoritme reducerer ordene” ønsker”,” ønsket “og” ønsker “til rodordet” ønske.”For at udføre denne type funktionalitet kan vi skrive UDF i java og integrere med Hive.

afhængigt af brugstilfældene kan UDFs skrives, det accepterer og producerer forskellige antal input-og outputværdier.

den generelle type UDF accepterer en enkelt inputværdi og producerer en enkelt outputværdi. Hvis den UDF, der bruges i forespørgslen, kaldes UDF en gang for hver række i resultatdatasættet.

på den anden måde kan den også acceptere en gruppe værdier som input og returnere en enkelt outputværdi.

Posted on

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.