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