Esistono due tipi. Tavolo gestito e tavolo esterno. Nella tabella gestita sia i dati che lo schema sono sotto il controllo di hive ma nella tabella esterna solo lo schema è sotto il controllo di Hive.

No Hive non fornisce l'inserimento e l'aggiornamento a livello di riga. Quindi non è adatto per il sistema OLTP.

Modifica tabella nome_tabella RENAME TO new_name

Utilizzo dell'opzione di colonna REPLACE

ALTER TABLE nome_tabella REPLACE COLUMNS ……

È un database relazionale che memorizza i metadati di tabelle hive, partizioni, database Hive ecc

A seconda della natura dei dati di cui dispone l'utente, il SerDe integrato potrebbe non soddisfare il formato dei dati. Gli utenti SO devono scrivere il proprio codice java per soddisfare i requisiti di formato dei dati.

Hive è uno strumento nell'ecosistema Hadoop che fornisce un'interfaccia per organizzare ed eseguire query sui dati in modo simile a un database e scrivere query di tipo SQL. È adatto per accedere e analizzare i dati in Hadoop utilizzando la sintassi SQL.

hdfs: // namenode_server / user / hive / warehouse

  • Modalità locale
  • Modalità distribuita
  • Modalità pseudodistribuita

Sì. I tipi di dati TIMESTAMP memorizzano la data nel formato java.sql.timestamp

Esistono tre tipi di dati di raccolta in Hive.

  • ARRAY
  • MAP
  • STRUCT

Sì, utilizzando il! contrassegna appena prima del comando.

Ad esempio! Pwd al prompt di hive elencherà la directory corrente.

La variabile hive è una variabile creata nell'ambiente Hive a cui possono fare riferimento gli script Hive. Viene utilizzato per passare alcuni valori alle query hive quando la query inizia l'esecuzione.

Utilizzando il comando source.

Example −

Hive> source /path/to/file/file_with_query.hql

È un file contenente un elenco di comandi da eseguire all'avvio della CLI di hive. Ad esempio, impostare la modalità rigorosa su true ecc.

Il delimitatore di record predefinito è - \ n

E i delimitatori archiviati sono - \ 001, \ 002, \ 003

Lo schema viene convalidato con i dati durante la lettura dei dati e non viene applicato durante la scrittura dei dati.

MOSTRA DATABASE COME "p. *"

Con il comando use si corregge il database su cui verranno eseguite tutte le successive query hive.

Non è possibile eliminare DBPROPERTY.

Imposta i lavori mapreduce in modalità rigorosa, in base alla quale le query sulle tabelle partizionate non possono essere eseguite senza una clausola WHERE. Ciò impedisce l'esecuzione di lavori di grandi dimensioni per lungo tempo.

Questo può essere fatto con la seguente query

SHOW PARTITIONS table_name PARTITION(partitioned_column=’partition_value’)

org.apache.hadoop.mapred.TextInputFormat

org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Quando emettiamo il comando DROP TABLE IF EXISTS nome_tabella

Hive genera un errore se la tabella da eliminare non esiste in primo luogo.

I dati rimangono nella vecchia posizione. Deve essere spostato manualmente.

ALTER TABLE table_name
CHANGE COLUMN new_col  INT
BEFORE x_col

No. Riduce solo il numero di file che diventa più facile da gestire per namenode.

Utilizzando la clausola ENABLE OFFLINE con l'attivazione ALTER TABLE.

Omettendo la CLAUSOLA LOCALE nell'istruzione LOAD DATA.

I nuovi file in arrivo vengono semplicemente aggiunti alla directory di destinazione ei file esistenti vengono semplicemente sovrascritti. Gli altri file il cui nome non corrisponde a nessuno dei file in arrivo continueranno a esistere.

Se aggiungi la clausola OVERWRITE, tutti i dati esistenti nella directory verranno eliminati prima che vengano scritti nuovi dati.

Crea partizioni sui dipendenti della tabella con valori di partizione provenienti dalle colonne nella clausola select. Si chiama Inserimento dinamico della partizione.

Una funzione di generazione di tabelle è una funzione che accetta una singola colonna come argomento e la espande a più colonne o righe. Esempio exploe ()

Se impostiamo la proprietà hive.exec.mode.local.auto su true, hive eviterà che mapreduce recuperi i risultati della query.

L'operatore LIKE si comporta allo stesso modo dei normali operatori SQL utilizzati nelle query di selezione. Esempio -

street_name come "% Chi"

Ma l'operatore RLIKE utilizza espressioni regolari più avanzate disponibili in java

Esempio: street_name RLIKE '. * (Chi | Oho). *' Che selezionerà qualsiasi parola che contenga chi o oho.

No. Poiché questo tipo di join non può essere implementato in mapreduce

In una query di join, la tabella più piccola da prendere nella prima posizione e la tabella più grande da prendere nell'ultima posizione.

Controlla come l'output della mappa viene ridotto tra i riduttori. È utile in caso di streaming di dati

Seleziona cast (prezzo come FLOAT)

Hive restituirà NULL

No. Il nome di una vista deve essere univoco rispetto a tutte le altre tabelle e viste presenti nello stesso database.

No. Una vista non può essere la destinazione di un'istruzione INSERT o LOAD.

Gli indici occupano spazio e c'è un costo di elaborazione nell'organizzare i valori della colonna su cui l'indice è certificato.

MOSTRA INDICE SU nome_tabella

Questo elencherà tutti gli indici creati su una qualsiasi delle colonne nella tabella nome_tabella.

I valori in una colonna vengono sottoposti ad hashing in un numero di bucket definito dall'utente. È un modo per evitare troppe partizioni o partizioni annidate assicurando nel contempo l'ottimizzazione dell'output delle query.

È un suggerimento per la query per trasmettere una tabella in memoria prima di eseguire la query. È una tecnica di ottimizzazione delle query.

Sì. È possibile archiviare una partizione. Il vantaggio è che diminuisce il numero di file memorizzati in namenode e il file archiviato può essere interrogato utilizzando hive. Lo svantaggio è che causerà query meno efficienti e non offre alcun risparmio di spazio.

È un'UDF creata utilizzando un programma java per server alcune esigenze specifiche non coperte dalle funzioni esistenti in Hive. Può rilevare il tipo di argomento di input a livello di codice e fornire una risposta appropriata.

L'inpath locale dovrebbe contenere un file e non una directory. $ Env: HOME è una variabile valida disponibile nell'ambiente hive.

La clausola TBLPROPERTIES viene utilizzata per aggiungere il nome del creatore durante la creazione di una tabella.

Il TBLPROPERTIES viene aggiunto come:

TBLPROPERTIES(‘creator’= ‘Joan’)