Dieses Kapitel demonstrieren, wie Sie Daten in einer HBase Tabelle zu erstellen. Um Daten in einem HBase Tabelle erstellen, werden die folgenden Befehle und Methoden sind verwendet:
Als Beispiel werden wir werden Gehen die folgende Tabelle in HBase erstellen.
Unter Einsatz von Put-Befehl, können Sie Zeilen in eine Tabelle einfügen. Es ist Syntax ist wie folgt:
put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’
Lassen Sie uns einfügen Sie die erste Reihe Werten in der Tabelle emp wie unten dargestellt.
hbase(main):005:0> put 'emp','1','personal data:name','raju' 0 row(s) in 0.6600 seconds hbase(main):006:0> put 'emp','1','personal data:city','hyderabad' 0 row(s) in 0.0410 seconds hbase(main):007:0> put 'emp','1','professional data:designation','manager' 0 row(s) in 0.0240 seconds hbase(main):007:0> put 'emp','1','professional data:salary','50000' 0 row(s) in 0.0240 seconds
Einfügen Sie die restlichen Zeilen mit dem Befehl put in der gleichen Weise. Wenn Sie einfügen die ganze Tabelle,werden Sie die folgende Ausgabe bekommen.
hbase(main):022:0> scan 'emp' ROW COLUMN+CELL 1 column=personal data:city, timestamp=1417524216501, value=hyderabad 1 column=personal data:name, timestamp=1417524185058, value=ramu 1 column=professional data:designation, timestamp=1417524232601, value=manager 1 column=professional data:salary, timestamp=1417524244109, value=50000 2 column=personal data:city, timestamp=1417524574905, value=chennai 2 column=personal data:name, timestamp=1417524556125, value=ravi 2 column=professional data:designation, timestamp=1417524592204, value=sr:engg 2 column=professional data:salary, timestamp=1417524604221, value=30000 3 column=personal data:city, timestamp=1417524681780, value=delhi 3 column=personal data:name, timestamp=1417524672067, value=rajesh 3 column=professional data:designation, timestamp=1417524693187, value=jr:engg 3 column=professional data:salary, timestamp=1417524702514, value=25000
Sie können einfügen Daten in Hbase mitHilfe dem add () Methode der put Klasse. Sie können speichern es mitHilfe dem put () Methode der HTable Klasse speichern. Diese Klassen gehören zu den org.apache.hadoop.hbase.client Paket. Unten gegeben sind die Schritte, um erstellen Daten in eine Tabelle von HBase.
Die Configuration-Klasse fügt HBase Konfigurationsdateien auf ihren Gegenstand. Sie können eine Konfigurationsobjekt zu erstellen mitHilfe dem create () Methode der HbaseConfiguration Klasse wie unten gezeigt.
Configuration conf = HbaseConfiguration.create();
Sie haben eine Klasse mit dem Namen HTable , eine Implementierung der Tabelle in HBase. Diese Klasse wird verwendet, um mit einem einzigen HBase Tisch kommunizieren. Während Instanziierung diese Klasse, es Konfigurationsobjekt und Tabellennamen als Parameter akzeptiert. Sie können hTable Klasse zu instanziieren, wie unten dargestellt.
HTable hTable = new HTable(conf, tableName);
Um Daten in eine Tabelle einfügen HBase, die add () Methode und ihre Varianten eingesetzt werden. Dieses Verfahren gehört zu put , deshalb instanziiert die Put-Klasse. Diese Klasse erfordert die Reihe Name den Sie möchten die Daten eingefügt werden, im String-Format . Sie können instanziieren die put Klasse , wie unten dargestellt.
Put p = new Put(Bytes.toBytes("row1"));
Die add () Methode der put Klasse wird verwendet, um Daten einzufügen. Es erfordert 3 Byte-Arrays repräsentiert die Spalte der Familie, Spalte Qualifier (Spaltennamen), und der Wert eingefügt werden soll,beziehungsweise. Einfügen von Daten in der HBase Tabelle mitHilfe dem Methode add () wie unten.
p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column name"),Bytes.toBytes("value"));
Nach dem Einlegen der erforderlichen Zeilen, speichern Sie die Änderungen, indem Hinzufügen Sie die Put-Instanz auf die put () Methode der hTable Klasse, wie unten dargestellt.
hTable.put(p);
Nach der Erstellung Daten in der Tabelle HBase, schließen Sie die HTable Instanz mitHIlfe dem close () Methode wie unten gezeigt.
hTable.close();
Da unten ist das vollständige Programm, um Daten in HBase Tabelle erstellen.
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.util.Bytes; public class InsertData{ public static void main(String[] args) throws IOException { // Instantiating Configuration class Configuration config = HBaseConfiguration.create(); // Instantiating HTable class HTable hTable = new HTable(config, "emp"); // Instantiating Put class // accepts a row name. Put p = new Put(Bytes.toBytes("row1")); // adding values using add() method // accepts column family name, qualifier/row name ,value p.add(Bytes.toBytes("personal"), Bytes.toBytes("name"),Bytes.toBytes("raju")); p.add(Bytes.toBytes("personal"), Bytes.toBytes("city"),Bytes.toBytes("hyderabad")); p.add(Bytes.toBytes("professional"),Bytes.toBytes("designation"), Bytes.toBytes("manager")); p.add(Bytes.toBytes("professional"),Bytes.toBytes("salary"), Bytes.toBytes("50000")); // Saving the put Instance to the HTable. hTable.put(p); System.out.println("data inserted"); // closing HTable hTable.close(); } }
Kompilieren Sie und führen Sie das obige Programm wie unten gezeigt.
$javac InsertData.java $java InsertData
Folgendes sollte werden die Ausgangs:
data inserted