Tutorial HiveQL (Hive Query Language): operatori incorporati

Sommario:

Anonim

Che cos'è HiveQL (Hive Query Language)?

Hive fornisce una CLI per scrivere query Hive utilizzando Hive Query Language (HiveQL). Generalmente la sintassi HQL è simile alla sintassi SQL con cui la maggior parte degli analisti di dati ha familiarità.

Il linguaggio ispirato a SQL di Hive separa l'utente dalla complessità della programmazione Map Reduce. Riutilizza concetti familiari del mondo dei database relazionali, come tabelle, righe, colonne e schemi, per facilitare l'apprendimento.

La maggior parte delle interazioni tende a verificarsi tramite un'interfaccia a riga di comando (CLI). Hive fornisce una CLI per scrivere query Hive utilizzando Hive Query Language (Hive-QL).

In genere, la sintassi di HiveQL è simile alla sintassi SQL con cui la maggior parte degli analisti di dati ha familiarità. Hive supporta quattro formati di file: TEXTFILE, SEQUENCEFILE, ORC e ​​RCFILE (Record Columnar File).

  • Per l'archiviazione dei metadati per utente singolo, Hive utilizza il database derby e
  • Per metadati di più utenti o metadati condivisi, Hive utilizza MYSQL

Operatori integrati

Hive fornisce operatori incorporati per operazioni sui dati da implementare sulle tabelle presenti all'interno del magazzino di Hive.

Questi operatori vengono utilizzati per operazioni matematiche sugli operandi e restituiranno un valore specifico secondo la logica applicata.

I tipi di operatori incorporati in HIVE sono:

  • Operatori relazionali
  • Operatori aritmetici
  • Operatori logici
  • Operatori su tipi complessi
  • Costruttori di tipo complesso

Operatori relazionali:

Utilizziamo operatori relazionali per confronti di relazioni tra due operandi.

  • Operatori come uguale a, non uguale a, minore di, maggiore di ... ecc
  • I tipi di operandi sono tutti i tipi di numero in questi operatori.

La tabella seguente ci fornirà dettagli sugli operatori relazionali e sul loro utilizzo.

Operatore integrato Descrizione Operando
X = Y VERO se l'espressione X è equivalente all'espressione Y Altrimenti FALSO. Prende tutti i tipi primitivi
X! = Y TRUE se l'espressione X non è equivalente all'espressione Y Altrimenti FALSE. Prende tutti i tipi primitivi
X VERO se l'espressione X è minore dell'espressione Y Altrimenti FALSO. Prende tutti i tipi primitivi
X <= Y VERO se l'espressione X è minore o uguale all'espressione Y Altrimenti FALSO. Prende tutti i tipi primitivi
X> Y TRUE se l'espressione X è maggiore dell'espressione Y Altrimenti FALSE. Prende tutti i tipi primitivi
X> = Y VERO se l'espressione X è maggiore o uguale all'espressione Y Altrimenti FALSO. Prende tutti i tipi primitivi
X È NULLO TRUE se l'espressione X restituisce NULL altrimenti FALSE. Ci vogliono tutti i tipi
X NON È NULLO FALSE Se l'espressione X restituisce NULL, altrimenti TRUE. Ci vogliono tutti i tipi
X COME Y TRUE Se lo schema di stringa X corrisponde a Y, altrimenti FALSE. Accetta solo archi
X RLIKE Y NULL se X o Y è NULL, TRUE se una qualsiasi sottostringa di X corrisponde all'espressione regolare Java Y, altrimenti FALSE. Accetta solo archi
X REGEXP Y Come RLIKE. Accetta solo archi

Operatori aritmetici :

Usiamo operatori aritmetici per eseguire operazioni aritmetiche su operandi

  • Usiamo questi operatori per operazioni aritmetiche come addizione, sottrazione, moltiplicazione e divisione tra operandi.
  • I tipi di operandi sono tutti tipi di numeri in questi operatori

Esempio di esempio:

2 + 3 dà il risultato 5.

In questo esempio, "+" è l'operatore e 2 e 3 sono operandi. Il valore restituito è 5

La tabella seguente ci fornirà dettagli sugli operatori aritmetici

Operatore integrato Descrizione Operando
X + Y Restituirà l'output dell'aggiunta di valori X e Y. Accetta tutti i tipi di numero
X - Y Restituirà l'output della sottrazione di Y dal valore X. Accetta tutti i tipi di numero
X * Y Restituirà l'output della moltiplicazione dei valori X e Y. Accetta tutti i tipi di numero
X / Y Restituirà l'output della divisione di Y da X. Accetta tutti i tipi di numero
X% Y Restituirà il resto risultante dalla divisione di X per Y. Accetta tutti i tipi di numero
X e Y Restituirà l'output di AND bit per bit di X e Y. Accetta tutti i tipi di numero
X | Y Restituirà l'output di OR bit per bit di X e Y. Accetta tutti i tipi di numero
X Y Restituirà l'output di XOR bit per bit di X e Y. Accetta tutti i tipi di numero
~ X Restituirà l'output di bit per bit NOT di X. Accetta tutti i tipi di numero

Operatori logici:

Usiamo operatori logici per eseguire operazioni logiche su operandi

  • Usiamo questi operatori per operazioni logiche come AND, OR, NOT tra gli operandi.
  • I tipi di operandi sono tutti di tipo BOOLEANO in questi operatori

La tabella seguente ci fornirà dettagli sugli operatori logici

Operatori Descrizione Operandi
X e Y TRUE se sia X che Y sono TRUE, altrimenti FALSE. Solo tipi booleani
X && Y Come X AND Y ma qui usiamo il simbolo && Solo tipi booleani
X O Y VERO se X o Y o entrambi sono VERO, altrimenti FALSO. Solo tipi booleani
X || Y Uguale a X OR Y ma qui usiamo || simbolo Solo tipi booleani
NON X TRUE se X è FALSE, altrimenti FALSE. Solo tipi booleani
!X Come NOT X ma qui lo usiamo! simbolo Solo tipi booleani

Operatori su tipi complessi:

La tabella seguente ci fornirà i dettagli sugli operatori di tipo complesso. Si tratta di operatori che forniranno un meccanismo diverso per accedere agli elementi in tipi complessi.

Operatori Operandi Descrizione
Un] A è un array e n è un tipo intero Restituirà l'ennesimo elemento nell'array A. Il primo elemento ha indice 0
M [tasto] M è una mappa e la chiave è di tipo K. Restituirà i valori che appartengono alla chiave nella mappa

Costruttori di tipo complesso:

La tabella seguente ci fornirà dettagli sui costruttori di tipo complesso. Costruirà istanze su tipi di dati complessi. Si tratta di tipi di dati complessi come i tipi Array, Map e Struct in Hive.

In questa sezione vedremo le operazioni eseguite su Costruttori di tipo Complesso.

Operatori Operandi Descrizione
Vettore (val1, val2, ...) Creerà un array con gli elementi dati come menzionato come val1, val2
Crea_ unione (tag, val1, val2, ...) Creerà un tipo di unione con i valori menzionati dal parametro tag
carta geografica (chiave1, valore1, chiave2, valore2, ...) Creerà una mappa con le coppie chiave / valore fornite menzionate negli operandi
Named_struct (nome1, val1, nome2, val2, ...) Creerà uno Struct con i nomi di campo ei valori indicati negli operandi
STRUTTURA (val1, val2, val3, ...) Crea uno Struct con i valori di campo dati. I nomi dei campi Struct saranno col1, col2,.

Sommario:

Hive fornisce alcune funzioni e operatori integrati per manipolare i dati archiviati in Hive warehouse. Hive è simile al linguaggio SQL, che supporta tutti i tipi di operazioni sui dati e di query su tabelle e database.