HBase - Crea tabella

Creazione di una tabella utilizzando HBase Shell

Puoi creare una tabella usando il create, qui è necessario specificare il nome della tabella e il nome della famiglia di colonne. Ilsyntax per creare una tabella nella shell HBase è mostrato di seguito.

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

Esempio

Di seguito è riportato uno schema di esempio di una tabella denominata emp. Ha due famiglie di colonne: "dati personali" e "dati professionali".

Tasto riga dati personali dati professionali

È possibile creare questa tabella nella shell HBase come mostrato di seguito.

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

E ti darà il seguente output.

0 row(s) in 1.1300 seconds
=> Hbase::Table - emp

Verifica

È possibile verificare se la tabella viene creata utilizzando il listcomando come mostrato di seguito. Qui puoi osservare la tabella emp creata.

hbase(main):002:0> list
TABLE 
emp
2 row(s) in 0.0340 seconds

Creazione di una tabella utilizzando Java API

Puoi creare una tabella in HBase usando il createTable() metodo di HBaseAdminclasse. Questa classe appartiene alorg.apache.hadoop.hbase.clientpacchetto. Di seguito sono riportati i passaggi per creare una tabella in HBase utilizzando Java API.

Passaggio 1: creare un'istanza di HBaseAdmin

Questa classe richiede l'oggetto Configuration come parametro, quindi inizialmente creare un'istanza della classe Configuration e passare questa istanza a HBaseAdmin.

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

Passaggio 2: creare TableDescriptor

HTableDescriptor è una classe che appartiene a org.apache.hadoop.hbaseclasse. Questa classe è come un contenitore di nomi di tabelle e famiglie di colonne.

//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);

Passaggio 3: eseguire tramite Admin

Usando il createTable() metodo di HBaseAdmin class, puoi eseguire la tabella creata in modalità Admin.

admin.createTable(table);

Di seguito è riportato il programma completo per creare una tabella tramite 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
      HTableDescriptor(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 ");
   }
}

Compilare ed eseguire il programma sopra come mostrato di seguito.

$javac CreateTable.java
$java CreateTable

Il seguente dovrebbe essere l'output:

Table created