HBase - Crear Tabla



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

create <table name>,<column family> 

Ejemplo

A continuacin, 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 carcter personal Datos profesionales

Puede crear esta tabla en HBase shell como se muestra a continuacin.

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 Creacin

Puede comprobar si la tabla se crea con el lista comando como se muestra a continuacin. 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 mtodo HBaseAdmin de clase. Esta clase pertenece a la org.apache.hadoop.hbase.paquete del cliente. A continuacin, 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 configuracin como un parmetro, por lo tanto, en un primer momento cree una instancia de la clase de configuracin 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 travs de Admin

Utilizando el createTable() mtodo HBaseAdmin de clase, puede ejecutar la tabla creada en modo de administracin.

admin.createTable(table);

A continuacin 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 continuacin.

$javac CreateTable.java
$java CreateTable

Lo siguiente debe ser el producto:

Table created
Advertisements