HBase - Aktualisierungsdaten


Advertisements

Sie können Aktualisierung eine bestehende Zellenwert verwendung dem put Befehl.Um dies zu tun, eben folgen Sie die gleiche Syntax und erwähnen Sie Ihren neuen Wert wie unten dargestellt.

put ‘table name’,’row ’,'Column family:column name',’new value’

Die neu gegeben Wert ersetzt den vorhandenen Wert, aktualisieren die Zeile.

Beispiel

Nehmen wir an es gibt eine Tabelle in HBase genannt emp mit den folgenden Daten.

hbase(main):003:0> scan 'emp'
 ROW              COLUMN+CELL
row1 column=personal:name, timestamp=1418051555, value=raju
row1 column=personal:city, timestamp=1418275907, value=Hyderabad
row1 column=professional:designation, timestamp=14180555,value=manager
row1 column=professional:salary, timestamp=1418035791555,value=50000
1 row(s) in 0.0100 seconds

Mit dem folgenden Befehl wird zu aktualisieren die Stadt Wert von angestellte genannt "Raju" zu Delhi.

hbase(main):002:0> put 'emp','row1','personal:city','Delhi'
0 row(s) in 0.0400 seconds

Die aktualisierte Tabelle sieht wie folgt aus wo Sie observieren die Stadt von Raju hat gewesen geändert auf 'Delhi'.

hbase(main):003:0> scan 'emp'
  ROW          COLUMN+CELL
row1 column=personal:name, timestamp=1418035791555, value=raju
row1 column=personal:city, timestamp=1418274645907, value=Delhi
row1 column=professional:designation, timestamp=141857555,value=manager
row1 column=professional:salary, timestamp=1418039555, value=50000
1 row(s) in 0.0100 seconds

Aktualisieren von Daten mit Hilfe von Java-API

Sie können aktualisieren die Daten in einer bestimmten Zelle verwendung dem put() Methode. Befolgen Sie die Schritte unten gegebenen,um eine bestehende Zellenwert einer Tabelle zu aktualisieren.

Schritt 1: Instanziieren des Configuration Klasse

Configuration Klasse fügt HBase Konfigurationsdateien zu seine objekt. Sie können eine Konfigurationsobjekt zu erstellen verwendung dem create() Methode auf die Hbase Konfiguration Klasse wie unten dargestellt.

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 Instanziieren Sie diese Klasse,annimmt es das Konfigurationsobjekt und den Tabellennamen als Parameter.Sie können die HTable Klasse zu instanziieren, wie unten dargestellt.

HTable hTable = new HTable(conf, tableName);

Schritt 3:Instanziieren die Put klasse

Um Daten in HBase Tabelle einzufügen, die add() Methode und ihre Varianten eingesetzt werden. Dieses Verfahren gehört zu put ,deshalb instanziiert die Put Klasse.Diese Klasse erfordert die Zeile Name, den Sie möchten die Daten eingefügt werden in, im Zeichenfolgenformat. Sie können instanziieren die Put-Klasse,wie unten dargestellt.

Put p = new Put(Bytes.toBytes("row1"));

Schritt 4: Aktualisierung ein Bestehende Zelle

Die add() Methode von Put Klasse wird verwendet, um Daten einzufügen. Es erfordert 3 Byte-Arrays, repräsentieren die Säule der Familie, Säule kennzeichner (Spaltennamen), und der Wert eingefügt werden soll, beziehungsweise. Einfügen von Daten in HBase Tabelle verwendung dem add() Methode wie unten gezeigt.

p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column
name"),Bytes.toBytes("value"));
p.add(Bytes.toBytes("personal"),
Bytes.toBytes("city"),Bytes.toBytes("Delih"));

Schritt 5: Speichern Sie die Daten in der Tabelle

Nach dem Einsetzen der erforderlichen Zeilen, speichern Sie die Änderungen, indem Hinzufügen von Sie die Put-Instanz zu die put() Methode der HTable Klasse, wie unten dargestellt.

hTable.put(p); 

Schritt 6: Schließen hTable Instanz

Nach der Erstellung von Daten in HBase Tabelle, schließen Sie die HTable Instanz verwendung der Methode close() wie unten dargestellt.

hTable.close();

Da unten ist das vollständige Programm, um Daten in einer bestimmten Tabelle zu aktualisieren.

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 UpdateData{

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

      // Updating a cell value
      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("city"),Bytes.toBytes("Delih"));

      // Saving the put Instance to the HTable.
      hTable.put(p);
      System.out.println("data Updated");

      // closing HTable
      hTable.close();
   }
}

Kompilieren Sie und hinrichten Sie das obige Programm wie unten gezeigt.

$javac UpdateData.java
$java UpdateData

Folgendes sollte der Ausgang sein:

data Updated
Advertisements