Introduzione alle funzioni integrate di Hive

Le funzioni sono costruite per eseguire diversi requisiti analitici e operazioni come matematica, logica, aritmetica e relazionale, su enormi set di dati e tabelle. Le funzioni vengono utilizzate quando dobbiamo riutilizzare operazioni simili più volte. In questo mondo BigData avanzato, per gestire ed elaborare enormi set di dati, scrivere programmi MapReduce diventa difficile. Quindi, Hive Query Language (HQL) è stato introdotto su Apache Hadoop nell'ottobre 2010, usando il quale possiamo facilmente eseguire query, simili a SQLs. Gli HQL vengono ulteriormente convertiti internamente in programmi Mapreduce per produrre gli output. In questo argomento, discuteremo delle funzioni integrate di Hive.

Le funzioni dell'alveare sono ampiamente classificate in due:

  1. Funzioni integrate
  2. Funzioni definite dall'utente

Funzioni integrate di Hive

Le funzioni integrate sono predefinite e prontamente disponibili per l'uso in Hive. Sono classificati come di seguito:

1. Funzioni stringa

Utilizzato per manipolazioni e trasformazioni di stringhe.

Nome funzioneTipo di resoDescrizioneEsempio
substr (stringa, int, int)CordaRestituisce una stringa dalla posizione iniziale specificata alla lunghezza specificatasubstr ("Hive query", 5, 5) genera "query"
rtrim (stringa X)CordaRestituisce una stringa senza spazi iniziali correttirtrim ('Hello') genera 'Hello'
ltrim (stringa X)CordaRestituisce una stringa senza spazi iniziali a sinistraltrim ('Hello') si traduce in 'Hello'
reverse (stringa X)CordaRestituisce una stringa invertita di Xreverse ('hello') genera 'olleh'
rpad (stringa X, int, stringa)CordaRestituisce una stringa imbottita a destra con 'pad' per una lunghezza dirpad ('Hello', 3, 'hi') genera 'Hello hi hi hi'
lpad (stringa X, int, stringa)CordaRestituisce una stringa imbottita a sinistra con 'pad' per una lunghezza dilpad ('Hello', 3, 'Hi') si traduce in 'Hi Hi Hi Hello'
split (stringa X, stringa pat)VettoreRestituisce una matrice di stringhe dopo aver diviso la stringa attorno al modello specificatola divisione ("A, B, C, D", ", ") risulta in ('A', B ', ' C ', ' D ')
lunghezza (stringa X)Numero interoRestituisce la lunghezza della stringa Xlunghezza ('Bigdata') risulta in 7
concat (stringa X, stringa Y)CordaRestituisce una stringa concatenata di X e Yconcat ("Hello", "World") genera "HelloWorld"

2. Funzioni matematiche

Utilizzato per applicare operazioni matematiche come arrotondamenti, soffitti, pavimenti, ecc. Invece di creare UDF.

Nome funzioneTipo di resoDescrizioneEsempio
tondo (doppia X)DoppioRestituisce il valore arrotondato di Xround (29.5) risulta in 30
tondo (doppia X, Int d)DoppioRestituisce il valore arrotondato di X con decimaliround (29.3456, 2) si traduce in 29.34
ceil (doppia X)DoppioRestituisce un valore BIGINT minimo uguale o maggiore di Xceil (20.5555) risulta in 21
piano (doppia X)DoppioRestituisce un valore BIGINT massimo uguale o maggiore di Xceil (20.5555) risulta in 20
rand ()DoppioRestituisce numeri casuali tra 0 e 9rand () risultati in rand (0-9)
abs (doppia X)DoppioRestituisce il valore assoluto del numero Xabs (-25) risulta in 25
pow (doppia X, doppia Y)DoppioRestituisce il valore X elevato alla potenza Y.pow (2, 3) risulta in 8
exp (doppia X)DoppioRestituisce il valore esponente di Xexp (2) risulta in 7.389

3. Funzioni condizionali

Utilizzato per controllare un'espressione per True o False e restituisce i risultati corrispondenti.

Nome funzioneTipo di resoDescrizioneEsempio
IsNull (X)booleanoRestituisce VERO se X è NULL, altrimenti è falsoisnull ('NULL') ritorna in VERO
isnotnull (X)booleanoRestituisce VERO se X non è NULL, altrimenti è falsoisnotnull ('NULL') ritorna in FALSO
nvl (arg X, arg Y)CordaRestituisce arg Y se arg X è NULL, altrimenti restituisce arg Xnvl ('NULL', 'Value is Null') restituisce 'Value is Null'
if (booleano testCondition, T valueTrue, T valueFalseOrNull)TRestituisce True quando la condizione del test è true e False o Null altrimentiif (2 = 2, 'True', 'False')
coalesce (X, Y)(Qualunque)Restituisce i primi valori non nulli dall'elenco (Ne dubito: restituirà il primo valore o tutti i valori non nulli?)coalesce (null, null, null, 1, 5, null, null, 6) risulta in 1

4. Funzioni data

Utilizzato per eseguire manipolazioni della data e conversioni del tipo di data.

Nome funzioneTipo di resoDescrizioneEsempio
data odiernaDataRestituisce la data corrente dell'esecuzione della querycurrent_date () restituisce la data odierna
UNIX_TIMESTAMP ()BigIntRestituisce il timestamp unix corrente dell'esecuzione della query in secondiunix_timestamp () restituisce il timestamp unix corrente
anno (data stringa)IntRestituisce l'anno parte di una datal'anno ("1994-11-24") restituisce il 1994
trimestre (data stringa)IntRestituisce il trimestre dell'anno di una datatrimestre ("1994-11-24") restituisce 4
mese (data stringa)IntRestituisce la parte del mese di una datail mese ("1994-11-24") restituisce 11
ora (data stringa)IntRestituisce la parte oraria del timestampora ("1994-11-24 12:45:23") restituisce 12
minuto (data stringa)IntRestituisce la parte minuto del timestampanno ('1994-11-24 12:45:23') restituisce 45
ad oggi()CordaRestituisce parte della data della stringa timestampto_date () restituisce la parte della data
date_sub (data stringa, giorni int)CordaRestituisce la sottrazione del numero di giorni alla datadate_sub ('1994-11-24', 20) restituisce '1994-11-04'
MONTHS_BETWEEN (date1, data2)DoppioRestituisce il numero di mesi tra data1 e data2 (mesi o no di giorni?)months_b Between ('1994-11-24 ′, ' 1994-11-04 ') restituisce 20

5. Funzione di raccolta

Utilizzato per trasformare e recuperare parti di tipi di raccolta come mappa, matrice, ecc.

Nome funzioneTipo di resoDescrizioneEsempio
dimensioni (mappa)IntRestituisce il numero totale di elementi nella mappasize (('a': 2, 'b': 6)) restituisce 2
dimensioni (array)IntRestituisce il numero totale di elementi nell'arraysize ((1, 3, 4, 7)) restituisce 4
array_contains (array, valore)booleanoRestituisce vero se l'array contiene il valorearray_contains ((1, 3, 9, 8, 5, 4, 7), 5) restituisce VERO
map_keys (mappa)VettoreRestituisce una matrice non ordinata di chiavi della mappamap_keys (('a': 2, 'b': 6, 'c': 1)) restituisce ('b', 'c', 'a')
map_valuess (mappa)VettoreRestituisce una matrice non ordinata di valori della mappamap_keys (('a': 2, 'b': 6, 'c': 1)) restituisce (1, 6, 2)
sort_array (array)VettoreRestituisce un array ordinato dell'array specificatosort_array ((1, 3, 9, 8, 5, 4, 7)) restituisce (1, 3, 4, 5, 7, 8, 9)

Conclusione

Finora abbiamo discusso di diverse funzioni integrate in Hive. Rispetto a MapReduce, Hive è più conveniente e fa risparmiare tempo. Chiunque abbia una conoscenza di base di SQL può facilmente scrivere HQL, piuttosto che complicati programmi MapReduce per l'elaborazione dei dati.

Articoli consigliati

Questa è una guida alle funzioni integrate di Hive. Qui discutiamo le funzioni integrate che sono predefinite e prontamente disponibili per l'uso in Hive. Puoi anche leggere il seguente articolo per saperne di più -

  1. Funzioni stringa di alveare
  2. Funzione alveare
  3. Comandi alveare
  4. Hive Architecture
  5. Hive Order di
  6. Installazione alveare
  7. Funzioni integrate di Python

Categoria: