2011-11-17 15 views
6

Tengo un archivo XML jerárquico recibido del cliente, necesito almacenarlo en la base de datos Hbase, ya que soy nuevo en el Hbase y no puedo entender cómo acercarme, ¿puede por favor guiarme? ¿Cómo debo proceder para este almacenamiento de datos jerárquico en Hbase?La mejor manera de almacenar datos jerárquicos en hbase

Gracias de antemano

Respuesta

7

Hbase almacena los datos en formato Column wise. Cada registro debe tener una clave única. Las columnas secundarias pueden crearse sobre la marcha, pero no las columnas principales.

Por ejemplo condider this xml.

<X1> 
    <X2 name = "uniqueid">1</X2> 
    <X3> 
     <X4>value1</X4> 
     <X5>value2</X5> 
     <X6> 
      <X7>value3</X7> 
      <X8>value4</X8> 
     </X6> 
    </X3> 
    <X7>value5</X7> 
</X1> 

En este caso, la familia de la columna principal sería X3 y X7. Row Id se puede tomar de X2. puede construir un equivalente entrada hbase a esta utilizando api java como,

Put p = new Put("/*put the unique row id */ ".getBytes()); 

p.add("X3".getBytes(), "X4".getBytes(), value1.getBytes()); 

donde el primer argumento es la familia de la columna y el segundo se llama el calificador columna (sub columna).

También puede utilizar 2 como argumento del constructor,

p.add("X3:X6:X7".getBytes(),value3); 

continuación table.put(p). ¡¡¡Eso es!!!

+0

Muchas gracias ... intentaré y le daré el feedbak :) – Infinity

Cuestiones relacionadas