HBase - Crear Tabla


Advertisements

Puede crear una tabla con el comando create, aquí hay que especificar el nombre de la tabla y la columna nombre de la Familia. La sintaxis para crear una tabla en HBase shell se muestra a continuación.

create ‘<table name>’,’<column family>’ 

Ejemplo

A continuación, se muestra un esquema de una tabla llamada emp. Tiene dos columnas las familias: "datos personales" y "datos profesionales".

Clave de Fila Los datos de carácter personal Datos profesionales

Puede crear esta tabla en HBase shell como se muestra a continuación.

hbase(main):002:0> create 'emp', 'personal data', ’professional data’

Y se le dará el siguiente resultado.

0 row(s) in 1.1300 seconds


=> Hbase::Table - emp

Verificar la Creación

Puede comprobar si la tabla se crea con el lista comando como se muestra a continuación. Aquí se puede observar la tabla emp.

hbase(main):002:0> list


TABLE 

emp
2 row(s) in 0.0340 seconds

Crear una tabla utilizando la API de java

Puede crear una tabla en HBase createTable utilizando el método HBaseAdmin de clase. Esta clase pertenece a la org.apache.hadoop.hbase.paquete del cliente. A continuación, se presentan los pasos para crear una tabla en HBase utilizando la API de java.

Paso 1: Crear una instancia HBaseAdmin

Esta clase requiere el objeto de configuración como un parámetro, por lo tanto, en un primer momento cree una instancia de la clase de configuración y pasar esta instancia HBaseAdmin.

Configuration conf = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(conf);

Paso 2: Crear TableDescriptor

HTableDescriptor es una clase que pertenece a la org.apache.hadoop.hbase clase. Esta clase es como un contenedor de nombres de tabla y columna familias.

//creating table descriptor
HTableDescriptor table = new HTableDescriptor(toBytes("Table name"));
//creating column family descriptor
HColumnDescriptor family = new HColumnDescriptor(toBytes("column family"));
//adding coloumn family to HTable
table.addFamily(family);

Paso 3: ejecutar a través de Admin

Utilizando el createTable() método HBaseAdmin de clase, puede ejecutar la tabla creada en modo de administración.

admin.createTable(table);

A continuación se incluye el programa completo para crear una tabla mediante admin.

import java.io.IOException;


import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.TableName;

import org.apache.hadoop.conf.Configuration;

public class CreateTable {
      
   public static void main(String[] args) throws IOException {

   // Instantiating configuration class
   Configuration con = HBaseConfiguration.create();

   // Instantiating HbaseAdmin class
   HBaseAdmin admin = new HBaseAdmin(con);

   // Instantiating table descriptor class
   HTableDescriptor tableDescriptor = new
   TableDescriptor(TableName.valueOf("emp"));

   // Adding column families to table descriptor
   tableDescriptor.addFamily(new HColumnDescriptor("personal"));
   tableDescriptor.addFamily(new HColumnDescriptor("professional"));


   // Execute the table through admin
   admin.createTable(tableDescriptor);
   System.out.println(" Table created ");
   }
  }

Compilar y ejecutar el programa como se muestra a continuación.

$javac CreateTable.java
$java CreateTable

Lo siguiente debe ser el producto:

Table created
Advertisements