HBase - Crear Datos


Advertisements

Este capítulo muestra cómo crear datos en una tabla HBase. Para crear los datos de una tabla HBase, los siguientes comandos y métodos se utilizan:

  • put Comando
  • add() Método de clase y
  • Put() método HTable de clase.

Como ejemplo, vamos a crear la siguiente tabla en HBase.

Tablas HBase

Con el comando put, puede insertar filas en una tabla. Su sintaxis es la siguiente:

put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’

Inserción de la Primera Fila

Que nos inserte la primera fila los valores de la tabla emp como se muestra a continuación.

hbase(main):005:0> put 'emp','1','personal data:name','raju'
0 row(s) in 0.6600 seconds
hbase(main):006:0> put 'emp','1','personal data:city','hyderabad'
0 row(s) in 0.0410 seconds
hbase(main):007:0> put 'emp','1','professional
data:designation','manager'
0 row(s) in 0.0240 seconds
hbase(main):007:0> put 'emp','1','professional data:salary','50000'
0 row(s) in 0.0240 seconds

Insertar las filas restantes utilizando el comando put de la misma manera. Si se inserta el cuadro en su conjunto, se obtiene el siguiente resultado.

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

   ROW                        COLUMN+CELL
1 column=personal data:city, timestamp=1417524216501, value=hyderabad

1 column=personal data:name, timestamp=1417524185058, value=ramu

1 column=professional data:designation, timestamp=1417524232601,

 value=manager
 
1 column=professional data:salary, timestamp=1417524244109, value=50000

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

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

2 column=professional data:designation, timestamp=1417524592204,

 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=1417524693187,

value=jr:engg
3 column=professional data:salary, timestamp=1417524702514,

value=25000 

Insertar los datos utilizando la API de Java

Puede insertar datos en Hbase utilizando el add() método de la put clase. Usted puede ahorrar mediante el put() método de la HTable clase. Estas clases forman parte de la org.apache.hadoop.hbase.paquete del cliente. A continuación se dan los pasos para crear los datos de una tabla de HBase.

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

La clase Configuration agrega HBase 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();

Paso 2:Instantiatethe HTable Clase

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 objeto de configuración y nombre de la tabla como parámetros. HTable puede crear una instancia de clase, como se muestra a continuación.

HTable hTable = new HTable(conf, tableName);

Paso 3: Instantiatethe PutClass

Para insertar datos en una tabla HBase, el add() método y sus variantes. Este método pertenece a poner, por lo tanto crear una instancia de la clase que. Esta clase requiere el nombre de la fila que desea insertar los datos en formato de cadena. Puede crear instancias de la put clase que tal como se muestra a continuación.

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

Paso 4: InsertData

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 los datos en la HBase tabla utilizando el método add() como se muestra a continuación.

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

Paso 5: Pulse Guardar los datos de la tabla

Después de insertar las filas necesarias, guardar los cambios mediante la adición de la instancia para poner el put() método HTable de clase, como se muestra a continuación.

hTable.put(p); 

Paso 6: Cerrar la Instancia HTable

Después de crear los datos de la tabla HBase, cierre la HTable ejemplo usando el close() método como se muestra a continuación.

hTable.close(); 

A continuación se incluye el programa completo para crear datos en HBase Tabla.

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

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

      // adding values using add() method
      // accepts column family name, qualifier/row name ,value
      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("name"),Bytes.toBytes("raju"));

      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("city"),Bytes.toBytes("hyderabad"));

      p.add(Bytes.toBytes("professional"),Bytes.toBytes("designation"),
      Bytes.toBytes("manager"));

      p.add(Bytes.toBytes("professional"),Bytes.toBytes("salary"),
      Bytes.toBytes("50000"));
      
      // Saving the put Instance to the HTable.
      hTable.put(p);
      System.out.println("data inserted");
      
      // closing HTable
      hTable.close();
   }
}

Compilar y ejecutar el programa como se muestra a continuación.

$javac InsertData.java
$java InsertData

Lo siguiente debe ser el producto:

data inserted
Advertisements