HBase - Eliminar Datos



Eliminar una celda especfica de una tabla

Mediante el comando delete, puede eliminar una celda especfica de una tabla. La sintaxis del comando es la siguiente:

delete <table name>, <row>, <column name >, <time stamp>

Este es un ejemplo para eliminar una celda especfica. Aqu estamos eliminando el sueldo

hbase(main):006:0> delete 'emp', '1', 'personal data:city',
1417521848375
0 row(s) in 0.0060 seconds

Eliminacin de Todas las celdas de una tabla

Mediante el "deleteall" comando, puede eliminar todas las celdas de una fila. A continuacin se muestra la sintaxis del comando deleteall.

deleteall <table name>, <row>,

Este es un ejemplo de "deleteall" comando, donde estamos eliminando todas las clulas de fila 1 tabla de emp.

hbase(main):007:0> deleteall 'emp','1'
0 row(s) in 0.0240 seconds

Verifique la tabla utilizando el escanear comando. Una muestra de la tabla despus de eliminar la tabla se indica a continuacin.

hbase(main):022:0> scan 'emp'

ROW                  COLUMN+CELL

2 column=personal data:city, timestamp=1417524574905, value=chennai 

2 column=personal data:name, timestamp=1417524556125, value=ravi

2 column=professional data:designation, timestamp=1417524204, 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=1417523187, value=jr:engg

3 column=professional data:salary, timestamp=1417524702514, value=25000

Eliminacin de datos utilizando la API de Java

Puede borrar datos de una tabla mediante el HBase delete() mtodo de la HTable clase. Siga los pasos que se indican a continuacin para eliminar los datos de una tabla.

Paso 1: Crear una instancia de la clase de configuracin

Clase de Configuracin HBase aade archivos de configuracin de su objeto. Puede crear un objeto de configuracin mediante el create() mtodo de la HbaseConfiguration clase la tal como se muestra a continuacin.

Configuration conf = HbaseConfiguration.create();

Paso 2: Crear una instancia de la clase HTable

Tiene una clase llamada HTable, una implementacin 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 configuracin y el nombre de la tabla como parmetros. Puede crear instancias de la clase HTable como se muestra a continuacin.

HTable hTable = new HTable(conf, tableName); 

Paso 3: Crear una instancia de la clase Eliminar

Eliminar una instancia de la clase al pasar el rowid de la fila que se va a eliminar, en formato de matriz de bytes. Tambin puede pasar hora y Rowlock a este constructor.

Delete delete = new Delete(toBytes("row1"));

Paso 4: Seleccione los datos que desea eliminar

Puede eliminar los datos mediante la eliminacin de los mtodos eliminar la clase. Esta clase tiene distintos mtodos eliminar. Seleccione las columnas o columna familias que han de ser eliminados usando estos mtodos. Eche un vistazo a los siguientes ejemplos que muestran el uso de Eliminar mtodos de clase.

delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));

Paso 5: Eliminar los datos

Eliminar los datos seleccionados en la aprobacin de la eliminar instancia de eliminar() del HTable clase como se muestra a continuacin.

table.delete(delete); 

Paso 6: Cierre el HTableInstance

Despus de eliminar los datos, cierre la HTable Instancia.

table.close();

A continuacin se incluye el programa completo para eliminar los datos de la tabla HBase.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;

public class DeleteData {

   public static void main(String[] args) throws IOException {

      // Instantiating Configuration class
      Configuration conf = HBaseConfiguration.create();

      // Instantiating HTable class
      HTable table = new HTable(conf, "employee");

      // Instantiating Delete class
      Delete delete = new Delete(Bytes.toBytes("row1"));
      delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
      delete.deleteFamily(Bytes.toBytes("professional"));

      // deleting the data
      table.delete(delete);

      // closing the HTable object
      table.close();
      System.out.println("data deleted.....");
   }
}

Compilar y ejecutar el programa como se muestra a continuacin.

$javac Deletedata.java
$java DeleteData

Lo siguiente debe ser el producto:

data deleted
Advertisements