HBase - Daten erstellen
Einfügen von Daten mit HBase Shell
Dieses Kapitel zeigt, wie Sie Daten in einer HBase-Tabelle erstellen. Zum Erstellen von Daten in einer HBase-Tabelle werden die folgenden Befehle und Methoden verwendet:
put Befehl,
add() Methode von Put Klasse und
put() Methode von HTable Klasse.
Als Beispiel erstellen wir die folgende Tabelle in HBase.
Verwenden von putBefehl können Sie Zeilen in eine Tabelle einfügen. Die Syntax lautet wie folgt:
put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’
Einfügen der ersten Zeile
Fügen Sie die Werte der ersten Zeile wie unten gezeigt in die Tabelle emp ein.
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
Fügen Sie die verbleibenden Zeilen mit dem Befehl put auf die gleiche Weise ein. Wenn Sie die gesamte Tabelle einfügen, erhalten Sie die folgende Ausgabe.
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
Einfügen von Daten mithilfe der Java-API
Sie können Daten mit dem in Hbase einfügen add() Methode der PutKlasse. Sie können es mit dem speichernput() Methode der HTableKlasse. Diese Klassen gehören zu denorg.apache.hadoop.hbase.clientPaket. Nachfolgend sind die Schritte zum Erstellen von Daten in einer HBase-Tabelle aufgeführt.
Schritt 1: Instanziieren Sie die Konfigurationsklasse
Das ConfigurationKlasse fügt ihrem Objekt HBase-Konfigurationsdateien hinzu. Sie können ein Konfigurationsobjekt mit dem erstellencreate() Methode der HbaseConfiguration Klasse wie unten gezeigt.
Configuration conf = HbaseConfiguration.create();
Schritt 2: Instanziieren Sie die HTable-Klasse
Sie haben eine Klasse namens HTable, eine Implementierung von Table in HBase. Diese Klasse wird verwendet, um mit einer einzelnen HBase-Tabelle zu kommunizieren. Beim Instanziieren dieser Klasse werden Konfigurationsobjekt und Tabellenname als Parameter akzeptiert. Sie können die HTable-Klasse wie unten gezeigt instanziieren.
HTable hTable = new HTable(conf, tableName);
Schritt 3: Instanziieren Sie die PutClass
Um Daten in eine HBase-Tabelle einzufügen, muss die add()Methode und ihre Varianten werden verwendet. Diese Methode gehört zuPutInstanziieren Sie daher die Put-Klasse. Diese Klasse benötigt den Zeilennamen, in den Sie die Daten einfügen möchten, im Zeichenfolgenformat. Sie können das instanziierenPut Klasse wie unten gezeigt.
Put p = new Put(Bytes.toBytes("row1"));
Schritt 4: Daten einfügen
Das add() Methode von PutKlasse wird zum Einfügen von Daten verwendet. Es sind 3-Byte-Arrays erforderlich, die die Spaltenfamilie, das Spaltenqualifikationsmerkmal (Spaltenname) und den einzufügenden Wert darstellen. Fügen Sie Daten mit der add () -Methode wie unten gezeigt in die HBase-Tabelle ein.
p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column
name"),Bytes.toBytes("value"));
Schritt 5: Speichern Sie die Daten in der Tabelle
Speichern Sie nach dem Einfügen der erforderlichen Zeilen die Änderungen, indem Sie die put-Instanz zum hinzufügen put() Methode der HTable-Klasse wie unten gezeigt.
hTable.put(p);
Schritt 6: Schließen Sie die HTable-Instanz
Schließen Sie nach dem Erstellen von Daten in der HBase-Tabelle die HTable Instanz mit dem close() Methode wie unten gezeigt.
hTable.close();
Im Folgenden finden Sie das vollständige Programm zum Erstellen von Daten in der HBase-Tabelle.
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 das obige Programm und führen Sie es wie unten gezeigt aus.
$javac InsertData.java
$java InsertData
Folgendes sollte die Ausgabe sein:
data inserted