HBase - Eliminar Datos


Advertisements

Eliminar una celda específica de una tabla

Mediante el comando delete, puede eliminar una celda específica 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 específica. Aquí estamos eliminando el sueldo

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

Eliminación de Todas las celdas de una tabla

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

deleteall ‘<table name>’, ‘<row>’,

Este es un ejemplo de "deleteall" comando, donde estamos eliminando todas las células 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 después de eliminar la tabla se indica a continuación.

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

Eliminación de datos utilizando la API de Java

Puede borrar datos de una tabla mediante el HBase delete() método de la HTable clase. Siga los pasos que se indican a continuación para eliminar los datos de una tabla.

Paso 1: Crear una instancia de la clase de configuración

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 la tal como se muestra a continuación.

Configuration conf = HbaseConfiguration.create();

Paso 2: Crear una instancia de la clase HTable

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

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. También 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 eliminación de los métodos eliminar la clase. Esta clase tiene distintos métodos eliminar. Seleccione las columnas o columna familias que han de ser eliminados usando estos métodos. Eche un vistazo a los siguientes ejemplos que muestran el uso de Eliminar métodos 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 aprobación de la eliminar instancia de eliminar() del HTable clase como se muestra a continuación.

table.delete(delete); 

Paso 6: Cierre el HTableInstance

Después de eliminar los datos, cierre la HTable Instancia.

table.close();

A continuación 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 continuación.

$javac Deletedata.java
$java DeleteData

Lo siguiente debe ser el producto:

data deleted
Advertisements