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