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>’
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
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
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.
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);
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);
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