HBase - Erstellen Daten


Advertisements

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:

  • put Befehl,
  • add() Methode der Put-Klasse und
  • put() Methode der HTable Klasse.

Als Beispiel werden wir werden Gehen die folgende Tabelle in HBase erstellen.

HBase Tabelle

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>’

Einsetzen der ersten Reihe

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 

Einfügen von Daten mit Hilfe von Java-API

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.

Schritt 1: Instanziieren des Konfigurations Klasse

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

Schritt 2: Instanziieren die HTable Klasse

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

Schritt 3: Instanziieren die PutClass

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

Schritt 4: einfügen daten

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

Schritt 5: speichern die Daten in der Tabelle

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

Schritt 6: Schließen Sie die HTable Instanz

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
Advertisements