HBase - Utwórz tabelę
Tworzenie tabeli przy użyciu powłoki HBase
Możesz utworzyć tabelę za pomocą createpolecenie, w tym miejscu należy określić nazwę tabeli i nazwę rodziny kolumn. Pliksyntax Tworzenie tabeli w powłoce HBase jest pokazane poniżej.
create ‘<table name>’,’<column family>’
Przykład
Poniżej podano przykładowy schemat tabeli o nazwie emp. Zawiera dwie rodziny kolumn: „dane osobowe” i „dane zawodowe”.
Klucz wiersza | dane osobiste | dane zawodowe |
---|---|---|
Możesz utworzyć tę tabelę w powłoce HBase, jak pokazano poniżej.
hbase(main):002:0> create 'emp', 'personal data', 'professional data'
I da ci następujący wynik.
0 row(s) in 1.1300 seconds
=> Hbase::Table - emp
Weryfikacja
Możesz sprawdzić, czy tabela została utworzona przy użyciu listpolecenie, jak pokazano poniżej. Tutaj możesz obserwować utworzoną tabelę emp.
hbase(main):002:0> list
TABLE
emp
2 row(s) in 0.0340 seconds
Tworzenie tabeli przy użyciu interfejsu API języka Java
Możesz utworzyć tabelę w HBase przy użyciu createTable() metoda HBaseAdminklasa. Ta klasa należy doorg.apache.hadoop.hbase.clientpakiet. Poniżej podano kroki, aby utworzyć tabelę w HBase przy użyciu Java API.
Krok 1: Utwórz wystąpienie HBaseAdmin
Ta klasa wymaga obiektu Configuration jako parametru, dlatego początkowo utwórz wystąpienie klasy Configuration i przekaż to wystąpienie do HBaseAdmin.
Configuration conf = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(conf);
Krok 2: Utwórz TableDescriptor
HTableDescriptor to klasa należąca do klasy org.apache.hadoop.hbaseklasa. Ta klasa jest jak kontener nazw tabel i rodzin kolumn.
//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);
Krok 3: Wykonaj przez administratora
Używając createTable() metoda HBaseAdmin możesz wykonać utworzoną tabelę w trybie administratora.
admin.createTable(table);
Poniżej znajduje się kompletny program do tworzenia tabeli przez administratora.
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 ");
}
}
Skompiluj i wykonaj powyższy program, jak pokazano poniżej.
$javac CreateTable.java
$java CreateTable
Wynik powinien być następujący:
Table created