Cos'è Hive Query Language: HiveQL OperaTors

Cos'è Hive Query Language (HiveQL)?

Linguaggio di query Hive (HiveQL) è un linguaggio di query in Apache Hive per l'elaborazione e l'analisi di dati strutturati. Separa gli utenti dalla complessità della programmazione Map Reduce. Riutilizza concetti comuni da database relazionali, come tabelle, righe, colonne e schema, per facilitare l'apprendimento. Hive fornisce una CLI per la scrittura di query Hive utilizzando Hive Query Language (HiveQL).

La maggior parte delle interazioni tendono ad avvenire tramite un'interfaccia a riga di comando (CLI). In generale, la sintassi HiveQL è simile a SQL sintassi con cui la maggior parte degli analisti di dati ha familiarità. Hive supporta quattro formati di file che sono: TEXTFILE, SEQUENCEFILE, ORC e ​​RCFILE (Record Columnar File).

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

HiveQL integrato OperaTors

Hive fornisce operatori integrati per operazioni sui dati da implementare sulle tabelle presenti all'interno del warehouse Hive.

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

Di seguito sono elencate le principali tipologie di Built-in Operatori in HiveQL:

  • Relazionale OperaTors
  • Aritmetica OperaTors
  • logico OperaTors
  • Operatori su Tipi complessi
  • Costruttori di tipo complesso

Relazionale Operator in Hive SQL

Utilizziamo gli operatori relazionali per i confronti delle relazioni tra due operandi.

  • Operatori come uguale, Non uguale, minore di, maggiore di...ecc
  • I tipi di operando sono tutti tipi di numeri in questi OperaTors.

La seguente tabella ci fornirà dettagli sugli operatori relazionali e sul loro utilizzo in HiveQL:

Built-in Operator Descrizione Operand
X = Y TRUE

se l'espressione X è equivalente all'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X!=Y TRUE

se l'espressione X non è equivalente all'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X<Y TRUE

se l'espressione X è inferiore all'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X <= Y TRUE

se l'espressione X è minore o uguale all'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X>Y TRUE

se l'espressione X è maggiore dell'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X>=Y TRUE

se l'espressione X è maggiore o uguale all'espressione Y

Altrimenti FALSO.

Richiede tutti i tipi primitivi
X È NULLO VERO se l'espressione X viene valutata come NULL, altrimenti FALSO. Ci vogliono tutti i tipi
X NON È NULLO FALSO

Se l'espressione X è valutata come NULL, altrimenti è VERO.

Ci vogliono tutti i tipi
X COME Y TRUE

Se il modello di stringa X corrisponde a Y, altrimenti FALSO.

Richiede solo stringhe
X R COME Y NULL se X o Y sono NULL, TRUE se qualsiasi sottostringa di X corrisponde a Java espressione regolare Y, altrimenti FALSE. Richiede solo stringhe
X REGESP Y Uguale a RLIKE. Richiede solo stringhe

Aritmetica HiveQL OperaTors

Utilizziamo gli operatori aritmetici per eseguire operazioni aritmetiche sugli operandi

  • Le operazioni aritmetiche come l'addizione, la sottrazione, la moltiplicazione e la divisione tra operandi le utilizziamo OperaTors.
  • In questi, tutti i tipi di operandi sono tipi numerici OperaTors

Esempio di esempio:

2 + 3 dà il risultato 5.

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

La seguente tabella ci fornirà dettagli sugli operatori aritmetici nel linguaggio di query Hive:

Built-in Operator Descrizione Operand
X+Y Restituirà l'output dell'aggiunta dei valori X e Y. Richiede tutti i tipi di numeri
X-Y Restituirà l'output della sottrazione di Y dal valore X. Richiede tutti i tipi di numeri
X*Y Restituirà l'output della moltiplicazione dei valori X e Y. Richiede tutti i tipi di numeri
X/Y Restituirà l'output della divisione Y da X. Richiede tutti i tipi di numeri
X%Y Restituirà il resto risultante dalla divisione X per Y. Richiede tutti i tipi di numeri
X e Y Restituirà l'output dell'AND bit a bit di X e Y. Richiede tutti i tipi di numeri
X| Y Restituirà l'output dell'OR bit a bit di X e Y. Richiede tutti i tipi di numeri
X^Y Restituirà l'output dell'XOR bit a bit di X e Y. Richiede tutti i tipi di numeri
~X Restituirà l'output del NOT bit a bit di X. Richiede tutti i tipi di numeri

Hive QL Logico OperaTors

Utilizziamo gli operatori logici per eseguire operazioni logiche sugli operandi

  • Le operazioni logiche come AND, OR, NOT tra operandi le utilizziamo OperaTors.
  • In questi, i tipi di operandi sono tutti di tipo BOOLEANO OperaTors

La seguente tabella ci fornirà dettagli sugli operatori logici in HiveSQL:

OperaTors Descrizione Operands
X E Y VERO se sia X che Y sono VERI, altrimenti FALSO. Solo tipi booleani
X&& Y Uguale a X AND Y ma qui utilizziamo il simbolo && Solo tipi booleani
X O Y VERO se X o Y o entrambi sono VERI, altrimenti FALSO. Solo tipi booleani
X || Y Uguale a X OR Y ma qui usiamo || simbolo Solo tipi booleani
NON X VERO se X è FALSO, altrimenti FALSO. Solo tipi booleani
!X Uguale a NOT X ma qui lo usiamo! simbolo Solo tipi booleani

Operatori sui tipi complessi

La seguente tabella ci fornirà dettagli sul tipo complesso Operators . Questi sono operatori che forniranno un meccanismo diverso per accedere agli elementi nei tipi complessi.

OperaTors Operands 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 appartenenti alla chiave nella mappa

Costruttori di tipo complesso

La seguente tabella ci fornirà dettagli sui costruttori di tipo complesso. Costruirà istanze su tipi di dati complessi. Questi sono tipi di dati complessi come Array, Map e Struct in Alveare.

In questa sezione vedremo le operazioni eseguite sui costruttori di tipo complesso.

OperaTors Operands Descrizione
schieramento (val1, val2, …) Creerà un array con gli elementi indicati come menzionati come val1, val2
Crea_unione (etichetta, val1, val2, …) Creerà un tipo di unione con i valori a cui viene menzionato il parametro tag
carta geografica (chiave1, valore1, chiave2, valore2, …) Creerà una mappa con le coppie chiave/valore indicate negli operandi
Struttura_nome (nome1, val1, nome2, val2, …) Creerà una struttura con i nomi dei campi e i valori indicati negli operandi
STRUTTURA (val1, val2, val3, …) Crea una struttura con i valori del campo specificati. I nomi dei campi della struttura saranno col1, col2, .

Sommario

  • Hive Query Language (HiveQL) è un linguaggio di query in Apache Hive per l'elaborazione e l'analisi dei dati strutturati.
  • Hive fornisce operatori integrati per operazioni sui dati da implementare sulle tabelle presenti all'interno del warehouse Hive.
  • Tipi di built-in Operai tor in HiveQL sono:
  • Relazionale OperaTors
  • Aritmetica OperaTors
  • logico OperaTors
  • Operatori su Tipi complessi
  • Costruttori di tipo complesso