HBase - Crear Datos



Este captulo muestra cmo crear datos en una tabla HBase. Para crear los datos de una tabla HBase, los siguientes comandos y mtodos se utilizan:

  • put Comando
  • add() Mtodo de clase y
  • Put() mtodo 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>

Insercin de la Primera Fila

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

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() mtodo de la put clase. Usted puede ahorrar mediante el put() mtodo de la HTable clase. Estas clases forman parte de la org.apache.hadoop.hbase.paquete del cliente. A continuacin se dan los pasos para crear los datos de una tabla de HBase.

Paso 1: Crear una instancia de la clase de configuracin

La clase Configuration agrega HBase archivos de configuracin de su objeto. Puede crear un objeto de configuracin mediante el create() mtodo de la HbaseConfiguration clase como se muestra a continuacin.

Configuration conf = HbaseConfiguration.create();

Paso 2:Instantiatethe HTable Clase

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 objeto de configuracin y nombre de la tabla como parmetros. HTable puede crear una instancia de clase, como se muestra a continuacin.

HTable hTable = new HTable(conf, tableName);

Paso 3: Instantiatethe PutClass

Para insertar datos en una tabla HBase, el add() mtodo y sus variantes. Este mtodo 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 continuacin.

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

Paso 4: InsertData

El add() mtodo 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 mtodo add() como se muestra a continuacin.

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

Paso 5: Pulse Guardar los datos de la tabla

Despus de insertar las filas necesarias, guardar los cambios mediante la adicin de la instancia para poner el put() mtodo HTable de clase, como se muestra a continuacin.

hTable.put(p); 

Paso 6: Cerrar la Instancia HTable

Despus de crear los datos de la tabla HBase, cierre la HTable ejemplo usando el close() mtodo como se muestra a continuacin.

hTable.close(); 

A continuacin 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 continuacin.

$javac InsertData.java
$java InsertData

Lo siguiente debe ser el producto:

data inserted
Advertisements