Apache Tajo – Integración HBase

Apache Tajo admite la integración de HBase. Esto nos permite acceder a las tablas HBase en Tajo. HBase es una base de datos distribuida orientada a columnas construida sobre el sistema de archivos Hadoop. Es parte del ecosistema Hadoop que proporciona acceso de lectura / escritura aleatoria en tiempo real a los datos en el sistema de archivos Hadoop. Los siguientes pasos son necesarios para configurar la integración de HBase.

Establecer variable de entorno

Agregue los siguientes cambios al archivo «conf / tajo-env.sh».

$ vi conf/tajo-env.sh  
# HBase home directory. It is opitional but is required mandatorily to use HBase. 
# export HBASE_HOME = path/to/HBase

Después de especificar la ruta de HBase, Tajo establece la ruta de clase para el archivo de biblioteca de HBase.

Crear tabla externa

Cree una tabla externa usando la siguiente sintaxis:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> [(<column_name> <data_type>,... )] 
USING hbase WITH ('table' = '<hbase_table_name>' 
, 'columns' = ':key,<column_family_name>:<qualifier_name>,...' 
, 'hbase.zookeeper.quorum' = '<zookeeper_address>' 
, 'hbase.zookeeper.property.clientPort' = '<zookeeper_client_port>') 
[LOCATION 'hbase:zk://<hostname>:<port>/'] ;

Para acceder a las tablas de HBase, debe configurar la ubicación del espacio de tabla.

Aquí,

  • Mesa – Establezca el nombre de la tabla de origen en hbase. Si desea crear una tabla externa, debe existir en HBase.

  • Columnas – La clave se refiere a la clave de cadena HBase. El número de columnas en el registro debe ser igual al número de columnas en la tabla Tajo.

  • hbase.zookeeper.quorum – Establecer la dirección del quórum del guardián del zoológico.

  • hbase.zookeeper.property.clientPort – Instale el puerto del cliente zookeeper.

Consulta

CREATE EXTERNAL TABLE students (rowkey text,id int,name text) 
USING hbase WITH ('table' = 'students', 'columns' = ':key,info:id,content:name') 
LOCATION 'hbase:zk://<hostname>:<port>/';

Aquí, el campo Ruta de ubicación establece la identificación del puerto del cliente zookeeper. Si no configura el puerto, Tajo hará referencia a la propiedad del archivo hbase-site.xml.

Crear tabla en HBase

Puede iniciar el shell de HBase interactivo con el comando «hbase shell» como se muestra en la siguiente consulta.

Consulta

/bin/hbase shell 

Resultado

La consulta anterior dará el siguiente resultado.

hbase(main):001:0>

Pasos bajo pedido HBase

Para solicitar HBase, debe seguir los siguientes pasos:

Paso 1 – Conecte los siguientes comandos al shell de HBase para crear una tabla de «muestra».

Consulta

hbase(main):001:0> create ‘students’,{NAME => ’info’},{NAME => ’content’} 
put 'students', ‘row-01', 'content:name', 'Adam' 
put 'students', ‘row-01', 'info:id', '001' 
put 'students', ‘row-02', 'content:name', 'Amit' 
put 'students', ‘row-02', 'info:id', '002' 
put 'students', ‘row-03', 'content:name', 'Bob' 
put 'students', ‘row-03', 'info:id', ‘003' 

Paso 2 – Ahora ingrese el siguiente comando en hbase shell para cargar datos en la tabla.

main):001:0> cat../hbase/hbase-students.txt | bin/hbase shell

Paso 3 – Ahora regrese al shell Tajo y ejecute el siguiente comando para ver los metadatos de la tabla –

default> d students;  

table name: default.students 
table path: 
store type: HBASE 
number of rows: unknown 
volume: 0 B 
Options: 
   'columns' = ':key,info:id,content:name' 
   'table' = 'students'  

schema: 
rowkey  TEXT 
id  INT4 
name TEXT

Paso 4 – Para obtener resultados de una tabla, use la siguiente consulta –

Consulta

default> select * from students

Resultado

La consulta anterior dará el siguiente resultado:

rowkey,  id,  name 
------------------------------- 
row-01,  001,  Adam 
row-02,  002,  Amit 
row-03   003,  Bob 

🚫