2012-09-12 52 views
6

Soy nuevo en hbase. ¿Puede mostrarme cómo agregar una columna a una familia de columnas? Tengo datos como este:cómo agregar columnas a la familia de columnas en hbase

{ 
name: abc 
addres: xyz 
} 

Tengo una prueba de tabla con la columna familiar. ¿Cómo puedo agregar el nombre y la dirección como una columna a esta persona? Por favor, muéstrame en la línea de comandos de hbase, así como java.

Respuesta

14

HBase Shell:

Desde el shell wiki hbase: http://wiki.apache.org/hadoop/Hbase/Shell

Deja un 'valor' de células en especificado mesa/fila/columna y timestamp opcionalmente coordenadas. Para poner un valor de celda en la tabla 't1' en la fila 'R1' en la columna 'c1' marcado con el tiempo 'TS1', hacer:

hbase> put 't1', 'r1', 'c1', 'value', ts1 

algo como esto en su caso:

hbase> put 'test', 'yourRow', 'person:name', 'abc' 
hbase> put 'test', 'yourRow', 'person:address', 'xyz' 

En Java:

Configuration config = HBaseConfiguration.create(); 
HTable table = new HTable(config, "test"); 

Put p = new Put(Bytes.toBytes("yourRow")); 
p.add(Bytes.toBytes("person"), Bytes.toBytes("name"), 
    Bytes.toBytes("abc")); 
table.put(p); 
+0

¿sabes si Hbase "persona: nombre" pisa diferente de cualquier otro nombre? En otras palabras, ¿el ":" tiene un significado especial en hbase o simplemente recorre el todo como una cadena? –

+0

El valor proporciona debe estar en este formato: ": ". El es el nombre de la columna en su familia de columnas y es la familia de columnas –

+0

Puedo ver que debo tener la primera columna familiar, pero si deseo agregar otra columna de columna como "persona: nombre: nombre", el "nombre: firstname" se trata especial en hbase? –

6

JP Bond le dio el código de ejemplo que necesita - Sólo quería añadir que una de las cosas buenas de HBase es ya que es escasa (es decir, no se reserva espacio de la columna para las columnas valores) Una de las características de esta decisión de diseño es que puede crear una nueva columna (columna familia + calificador) simplemente escribiendo para ello.

Cuestiones relacionadas