Usted puede actualizar un valor de la celda utilizando el update comando put. Para ello, sólo tienes que seguir la misma sintaxis y mencionar el nuevo valor como se muestra a continuación.
put ‘table name’,’row ’,'Column family:column name',’new value’
El nuevo valor dado sustituye el valor existente, la actualización de la fila.
Supongamos que hay una tabla en HBase llamado emp con los siguientes datos
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
El siguiente comando se actualizará el valor de ciudad del empleado de nombre "Raju" a Delhi.
hbase(main):002:0> put 'emp','row1','personal:city','Delhi' 0 row(s) in 0.0400 seconds
La actualización de la tabla se ve de la siguiente manera desde donde se puede observar la ciudad de Raju ha sido cambiado a "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
Puede actualizar los datos en una celda en concreto utilizando el put() método. Siga los pasos que se indican a continuación para actualizar un valor de la celda de una tabla.
Clase de Configuración HBase añade archivos de configuración de su objeto. Puede crear un objeto de configuración mediante el create() método de la HbaseConfiguration clase como se muestra a continuación.
Configuration conf = HbaseConfiguration.create();
Tiene una clase llamada HTable, una implementación de tabla en HBase. Esta clase se utiliza para comunicarse con un solo HBase tabla. Al crear una instancia esta clase, acepta el objeto de configuración y el nombre de la tabla como parámetros. Puede crear instancias de la clase HTable como se muestra a continuación.
HTable hTable = new HTable(conf, tableName);
Para insertar datos en tabla HBase, el add() método y sus variantes. Este método pertenece a poner, por lo tanto crear una instancia de la poner clase que. Esta clase requiere el nombre de la fila que desea insertar los datos en formato de cadena. Puede crear instancias de la clase que tal como se muestra a continuación.
Put p = new Put(Bytes.toBytes("row1"));
El add() método de Put clase se utiliza para insertar datos. Se requiere de 3 matrices de bytes representa la columna familia, la columna calificativo (nombre de columna), y el valor que se va a insertar, respectivamente. Insertar datos en HBase tabla mediante el add() método como se muestra a continuación.
p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column name"),Bytes.toBytes("value")); p.add(Bytes.toBytes("personal"), Bytes.toBytes("city"),Bytes.toBytes("Delih"));
Después de insertar las filas necesarias, guardar los cambios mediante la adición a la instancia el put() método , de la clase HTable como se muestra a continuación.
hTable.put(p);
Después de crear los datos de tabla HBase, cierre la HTable ejemplo usando el método close() como se muestra a continuación.
hTable.close();
A continuación se incluye el programa completo para actualizar los datos en una tabla en particular.
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(); } }
Compilar y ejecutar el programa como se muestra a continuación.
$javac UpdateData.java $java UpdateData
Lo siguiente debe ser el producto:
data Updated