Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso a tabelle HBase con Hive
HBase e Apache Hive sono strettamente integrati. Ciò consente di eseguire carichi di lavoro MPP (Massively Parallel Processing) direttamente sui dati archiviati in HBase. Per utilizzare Hive con HBase, puoi generalmente avviarli sullo stesso cluster. Puoi, tuttavia, avviare Hive e HBase su cluster separati. L'esecuzione separata di HBase e Hive su cluster diversi può migliorare le prestazioni in quanto ogni applicazione può usare le risorse del cluster in modo più efficiente.
Le procedure seguenti mostrano come connettersi ad HBase su un cluster utilizzando Hive.
Nota
Puoi connettere un cluster Hive solo a un singolo cluster HBase.
Per connettere Hive ad HBase
-
Creare cluster separati con Hive e HBase installati o creare un singolo cluster con HBase e Hive installati.
-
Se utilizzi cluster separati, modifica i gruppi di sicurezza in modo che le porte HBase e Hive siano aperte tra questi due nodi primari.
-
Usa SSH per connetterti al nodo primario del cluster su cui è installato Hive. Per ulteriori informazioni, consulta la sezione Connect to the primary node using SSH (Connessione al nodo primario tramite SSH) nella Guida alla gestione di Amazon EMR.
-
Avviare la shell Hive con il seguente comando.
hive -
(Facoltativo) Questa operazione non è necessaria se HBase e Hive si trovano sullo stesso cluster. Collegare il client HBase sul cluster Hive al cluster HBase contenente i dati. Nel seguente esempio,
public-DNS-nameviene sostituito dal nome DNS pubblico del nodo primario del cluster HBase, per esempio:.ec2-50-19-76-67.compute-1.amazonaws.com.rproxy.goskope.comset hbase.zookeeper.quorum=public-DNS-name; -
Continuare a eseguire query Hive sui dati HBase come desiderato o passare alla procedura successiva.
Per accedere ai dati HBase da Hive
-
Dopo che la connessione tra i cluster Hive e HBase è stata effettuata (come mostrato nella procedura precedente), puoi accedere ai dati archiviati nel cluster HBase creando una tabella esterna in Hive.
Il seguente esempio, quando viene eseguito dal prompt Hive sul nodo primario, crea una tabella esterna che fa riferimento ai dati archiviati in una tabella HBase chiamata.
inputTablePuoi quindi fare riferimento ainputTablenelle istruzioni Hive per eseguire una query e modificare i dati memorizzati nel cluster HBase.set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(key) from inputTable ;
Per un caso d'uso più avanzato e un esempio di combinazione di HBase e Hive, consulta il post del blog AWS Big Data, Combine NoSQL and massively parallel analytics using Apache HBase e Apache