Comandi principali di Hive con esempi in HQL



Questo blog discute i comandi Hive con esempi in HQL. CREA, ELIMINA, TRONCA, ALTERA, MOSTRA, DESCRIVI, USA, CARICA, INSERISCI, UNISCI e molti altri comandi Hive

In questo post del blog, discutiamo dei principali comandi di Hive con esempi. Questi comandi Hive sono molto importanti per cui creare le basi .

Edureka 2019 Tech Career Guide è disponibile! Ruoli di lavoro più interessanti, percorsi di apprendimento precisi, prospettive del settore e altro nella guida. Scarica adesso.

Cos'è Hive?

Apache Hive è un sistema di data warehouse creato per funzionare su Hadoop. Viene utilizzato per eseguire query e gestire set di dati di grandi dimensioni che risiedono in una memoria distribuita. Prima di diventare un progetto open source di Apache Hadoop, Hive era nato su Facebook. Fornisce un meccanismo per proiettare la struttura sui dati in Hadoop e per interrogare tali dati utilizzando un linguaggio simile a SQL chiamato HiveQL (HQL).





Hive viene utilizzato perché le tabelle in Hive sono simili alle tabelle in un database relazionale. Se hai familiarità con SQL, è un gioco da ragazzi. Molti utenti possono interrogare simultaneamente i dati utilizzando Hive-QL.

Cos'è HQL?

Hive definisce un semplice linguaggio di query simile a SQL per eseguire query e gestire set di dati di grandi dimensioni chiamato Hive-QL (HQL). È facile da usare se hai familiarità con il linguaggio SQL. Hive consente ai programmatori che hanno familiarità con il linguaggio di scrivere il framework MapReduce personalizzato per eseguire analisi più sofisticate.



Usi di Hive:

1. Lo storage distribuito Apache Hive.

etichetta goto c ++

2. Hive fornisce strumenti per consentire una facile estrazione / trasformazione / caricamento dei dati (ETL)

3. Fornisce la struttura su una varietà di formati di dati.



4. Utilizzando Hive, possiamo accedere ai file archiviati in Hadoop Distributed File System (HDFS viene utilizzato per eseguire query e gestire set di dati di grandi dimensioni in cui risiedono) o in altri sistemi di archiviazione dati come Apache HBase.

Limitazioni di Hive:

& bull Hive non è progettato per l'elaborazione delle transazioni online (OLTP), viene utilizzato solo per l'elaborazione analitica online.

& bull Hive supporta la sovrascrittura o l'acquisizione dei dati, ma non gli aggiornamenti e le eliminazioni.

& bull In Hive, le query secondarie non sono supportate.

Perché Hive viene utilizzato a dispetto del maiale?

I seguenti sono i motivi per cui Hive viene utilizzato nonostante la disponibilità di Pig:

  • Hive-QL è un linguaggio dichiarativo della linea SQL, PigLatin è un linguaggio del flusso di dati.
  • Pig: un linguaggio e un ambiente per il flusso di dati per esplorare set di dati di grandi dimensioni.
  • Hive: un data warehouse distribuito.

Componenti di Hive:

Metastore:

Hive archivia lo schema delle tabelle Hive in un metastore Hive. Metastore viene utilizzato per contenere tutte le informazioni sulle tabelle e le partizioni presenti nel magazzino. Per impostazione predefinita, il metastore viene eseguito nello stesso processo del servizio Hive e il metastore predefinito è DerBy Database.

SerDe:

Serializer, Deserializer fornisce istruzioni per hive su come elaborare un record.

Comandi Hive:

Data Definition Language (DDL)

Le istruzioni DDL vengono utilizzate per creare e modificare le tabelle e altri oggetti nel database.

DDL Command Funzione
CREARE Viene utilizzato per creare una tabella o un database
SPETTACOLO Viene utilizzato per mostrare Database, Tabella, Proprietà, ecc
ETÀ Viene utilizzato per apportare modifiche alla tabella esistente
DESCRIVERE Descrive le colonne della tabella
TRONCARE Utilizzato per troncare ed eliminare definitivamente le righe della tabella
ELIMINA Elimina i dati della tabella, ma possono essere ripristinati

Vai a Hive shell dando il comando sudo hive e inserisci il comando 'creare Banca dati nome> ' per creare il nuovo database in Hive.

Crea database Hive utilizzando i comandi Hive

Per elencare i database nel magazzino di Hive, immettere il comando ' mostra database '.

Il database viene creato in una posizione predefinita del magazzino Hive. In Cloudera, archivio database Hive in / user / hive / warehouse.

Il comando per utilizzare il database è USO

Copiare i dati di input in HDFS dal locale utilizzando il comando copy From Local.

Quando creiamo una tabella in hive, viene creata nella posizione predefinita del magazzino hive. - “/ user / hive / warehouse”, dopo la creazione della tabella possiamo spostare i dati da HDFS alla tabella hive.

Il comando seguente crea una tabella con nella posizione '/user/hive/warehouse/retail.db'

Nota : retail.db è il database creato nel magazzino Hive.

Descrivere fornisce informazioni sullo schema della tabella.

Data Manipulation Language (DML)

Le istruzioni DML vengono utilizzate per recuperare, archiviare, modificare, eliminare, inserire e aggiornare i dati nel database.

Esempio :

LOAD, INSERT Dichiarazioni.

Sintassi:

CARICARE il percorso dei dati nella tabella [tablename]

L'operazione di caricamento viene utilizzata per spostare i dati nella tabella Hive corrispondente. Se la parola chiave Locale è specificato, quindi nel comando di caricamento fornirà il percorso del file system locale. Se la parola chiave local non è specificata, dobbiamo utilizzare il percorso HDFS del file.

Di seguito sono riportati alcuni esempi per il comando LOAD data LOCAL

Dopo aver caricato i dati nella tabella Hive, possiamo applicare le dichiarazioni di manipolazione dei dati o le funzioni aggregate recuperare i dati.

Esempio per contare il numero di record:

La funzione di aggregazione del conteggio viene utilizzata per contare il numero totale di record in una tabella.

'Crea tabella esterna':

Il creare esterno la parola chiave viene utilizzata per creare una tabella e fornisce una posizione in cui verrà creata la tabella, in modo che Hive non utilizzi una posizione predefinita per questa tabella. Un ESTERNO table punta a qualsiasi posizione HDFS per la sua archiviazione, piuttosto che a quella predefinita.

Inserisci comando:

Il inserire viene utilizzato per caricare i dati della tabella Hive. Gli inserimenti possono essere eseguiti su una tabella o una partizione.

& bull INSERT OVERWRITE viene utilizzato per sovrascrivere i dati esistenti nella tabella o nella partizione.

& bull INSERT INTO viene utilizzato per aggiungere i dati ai dati esistenti in una tabella. (Nota: la sintassi INSERT INTO funziona dalla versione 0.8)

Esempio di comando 'Partizionato da' e 'Raggruppato da':

'Partizionato da 'Viene utilizzato per dividere la tabella nella partizione e può essere suddiviso in bucket utilizzando' Raggruppato da 'Comando.

Quando inseriamo gli errori di lancio di dati Hive, la modalità di partizione dinamica è rigorosa e la partizione dinamica non è abilitata (da Jeff a sito web dresshead ). Quindi dobbiamo impostare i seguenti parametri nella shell di Hive.

imposta hive.exec.dynamic.partition = true

Per abilitare le partizioni dinamiche, per impostazione predefinita, è falso

imposta hive.exec.dynamic.partition.mode = nonstrict

La partizione viene eseguita per categoria e può essere suddivisa in bucket utilizzando il comando 'Clustered By'.

L'istruzione 'Drop Table' elimina i dati e i metadati per una tabella. Nel caso di tabelle esterne, vengono eliminati solo i metadati.

L'istruzione 'Drop Table' elimina i dati e i metadati per una tabella. Nel caso di tabelle esterne, vengono eliminati solo i metadati.

Carica i dati nel percorso locale 'aru.txt' nella tabella tablename e quindi controlliamo la tabella dipendente1 utilizzando il comando Seleziona * dal nome della tabella

Per contare il numero di record nella tabella utilizzando Seleziona contare(*) da txnrecords

Aggregazione:

Seleziona count (DISTINCT category) da tablename

Questo comando conterà la diversa categoria della tabella 'cate'. Qui ci sono 3 diverse categorie.

Supponiamo che esista un'altra tabella in cui f1 è il nome del campo della categoria.

funzione goto c ++

Raggruppamento:

Il comando Group viene utilizzato per raggruppare il set di risultati in base a una o più colonne.

Seleziona categoria, somma (importo) dal gruppo di record txt per categoria

Calcola l'importo della stessa categoria.

Il risultato di una tabella viene memorizzato in un'altra tabella.

Crea una tabella newtablename come select * from oldtablename

Comando di unione:

Qui viene creata un'altra tabella nel nome 'Mail'

Join Operation :

Viene eseguita un'operazione di unione per combinare i campi di due tabelle utilizzando valori comuni a ciascuna.

Join esterno sinistro :

Il risultato di un join esterno sinistro (o semplicemente un join sinistro) per le tabelle A e B contiene sempre tutti i record della tabella 'sinistra' (A), anche se la condizione di join non trova alcun record corrispondente nella tabella 'destra' (B).

Right Outer Join :

Un join esterno destro (o join destro) ricorda da vicino un join esterno sinistro, tranne che con il trattamento delle tabelle invertito. Ogni riga della tabella 'destra' (B) apparirà nella tabella unita almeno una volta.

Full Join :

La tabella unita conterrà tutti i record di entrambe le tabelle e inserirà NULL per le corrispondenze mancanti su entrambi i lati.

Una volta terminato con hive, possiamo usare il comando quit per uscire dalla shell di hive.

Uscita da Hive

Hive è solo una parte del grande puzzle chiamato Big Data e Hadoop. Hadoop è molto più di un semplice Hive. Fai clic di seguito per vedere quali altre abilità dovresti padroneggiare in Hadoop.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.

Post correlati:

7 modi in cui la formazione sui Big Data può cambiare la tua organizzazione

Modelli di dati Hive