2015-05-08 22 views
6

Come sviluppatore, ho creato la tabella HBase per il nostro progetto importando i dati dalla tabella MySQL esistente utilizzando sqoop job. Il problema è che il nostro team di analisti di dati ha familiarità con la sintassi di MySQL, implica che possono interrogare facilmente la tabella HIVE. Per loro, ho bisogno di esporre la tabella HBase in HIVE. Non voglio duplicare i dati popolando nuovamente i dati in HIVE. Inoltre, la duplicazione dei dati potrebbe avere problemi di coerenza in futuro.Come accedere alla tabella HBase in Hive e viceversa?

Posso esporre tavolo HBase in HIVE senza duplicare i dati? Se sì, come lo faccio? Inoltre, se nella mia tabella HBase sono presenti dati insert/update/delete, i dati aggiornati vengono visualizzati in HIVE senza problemi?

A volte il nostro team di analisi dei dati crea tabelle e inserisce dati in HIVE. Posso esporli a HBase? Se sì, come?

risposta

6

HBase-Hive Integrazione:

Creazione di un external table in alveare per la tabella HBase permette di interrogare i dati HBase o essere interrogato in Hive senza la necessità di duplicazione di dati. Puoi semplicemente aggiornare o eliminare i dati dalla tabella HBase e puoi anche visualizzare la tabella modificata in Hive.

Esempio:

considera di avere una tabella con colonne HBase id, name e email.

Comando di esempio esterno tavolo per alveare:

CREATE EXTERNAL TABLE hivehbasetable(key INT, id INT, username STRING, password STRING, email STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,id:id,name:username,name:password,email:email") TBLPROPERTIES("hbase.table.name" = "hbasetable"); 

Per maggiori informazioni su Hive-HBase integrazione guardare here

+0

Che dire inversa? Ho tavolo HIVE e lo espongo a HBase? – Abhishek

+0

@Abhishek Finché si scrive su una tabella HIVE memorizzata da HBaseStorageHandler, la tabella e i dati che contiene sono memorizzati in HBase. Il tuo team può creare tutte le tabelle memorizzate HBase (esterne o meno) come preferiscono in HIVE e "INSERIRE ... SELEZIONA ..." in esse, i dati saranno immediatamente disponibili in HBase al termine della query. Provalo. –

+0

Capito .. Grazie :) – Abhishek