Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Acceder a tablas de HBase con Hive
HBase y Apache Hive están muy integrados, lo que le permite ejecutar cargas de trabajo de procesamiento masivo en paralelo directamente en los datos almacenados en HBase. Para utilizar Hive con HBase, puede lanzarlos habitualmente en el mismo clúster. No obstante, puede lanzar Hive y HBase en diferentes clústeres. La ejecución de HBase y Hive por separado en diferentes clústeres puede mejorar el rendimiento, ya que esto permite a cada aplicación utilizar los recursos de clústeres de forma más eficiente.
Los siguientes procedimientos muestran cómo conectar a HBase en un clúster con Hive.
nota
Solo puede conectar un clúster de Hive en un único clúster de HBase.
Para conectar Hive a HBase
-
Cree diferentes clústeres con Hive y HBase instalados o cree un único clúster con HBase y Hive instalados.
-
Si utiliza clústeres independiente, modifique sus grupos de seguridad de forma que los puertos de HBase y Hive estén abiertos entre estos dos nodos principales.
-
Utilice SSH para conectar al nodo principal para el clúster con Hive instalado. Para obtener más información, consulte Conectarse al nodo principal mediante SSH en la Guía de administración de Amazon EMR.
-
Lance el shell Hive con el siguiente comando.
hive -
(Opcional) no necesita hacerlo si HBase y Hive se encuentran en el mismo clúster. Conecte el cliente de HBase en su clúster de Hive al clúster de HBase que contiene sus datos. En el siguiente ejemplo,
public-DNS-namese sustituye por el nombre DNS público del nodo principal del clúster de HBase, por ejemplo:.ec2-50-19-76-67.compute-1.amazonaws.com.rproxy.govskope.caset hbase.zookeeper.quorum=public-DNS-name; -
Continúe para ejecutar consultas de Hive en sus datos de HBase del modo que desee o vea el siguiente procedimiento.
Para acceder a los datos de HBase desde Hive
-
Después de haber realizado la conexión entre los clústeres de Hive y HBase (tal y como se muestra en el procedimiento anterior), puede acceder a los datos almacenados en el clúster de HBase creando una tabla externa en Hive.
En el siguiente ejemplo, cuando se ejecuta desde el símbolo del sistema de Hive en el nodo principal, se crea una tabla externa que hace referencia a los datos almacenados en una tabla de HBase denominada
inputTable. A continuación, puede hacer referencia ainputTableen instrucciones de Hive para consultar y modificar los datos almacenados en el clúster de 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 ;
Para ver un caso de uso más avanzado y un ejemplo de combinación de HBase y Hive, consulte la entrada del blog sobre AWS big data titulada Combine NoSQL y massively Parallel Analytics mediante Apache HBase y Apache Hive