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.
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.
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.
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>
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
🚫