2012-09-12 21 views
6

Sono nuovo di hbase. Puoi mostrarmi come aggiungere una colonna a una famiglia di colonne. Ho dati come questo:come aggiungere una famiglia da colonna a colonna in hbase

{ 
name: abc 
addres: xyz 
} 

Ho un test di tabella con persona di famiglia di colonna. Come posso aggiungere nome e indirizzo come colonna a questa persona. Per favore mostrami nella riga di comando di hbase e in java.

risposta

14

HBase Shell:

Dalla shell wiki HBase: http://wiki.apache.org/hadoop/Hbase/Shell

mettere un 'valore' cella specificata tavolo/riga/colonna e timestamp facoltativamente coordinate. Per mettere un valore di cella nella tabella 't1' alla riga 'r1' sotto la colonna 'c1' contrassegnata con il tempo 'TS1', fare:

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

qualcosa di simile nel tuo caso:

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

In 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

sai se Hbase batte "persona: nome" diversamente da qualsiasi altro nome? In altre parole, il ":" ha un significato speciale in hbase o semplicemente calcola il tutto come una stringa? –

+0

Il valore deve essere in questo formato: ": ". Il è il nome della colonna nella famiglia di colonne e è la famiglia di colonne –

+0

Vedo che devo avere la prima colonna di famiglia, ma se voglio aggiungere un'altra colonna di colonna come "persona: nome: nome", non il "nome: firstname" viene trattato in modo speciale in hbase? –

6

JP legame che ha dato il codice di esempio è necessario - volevo solo aggiungere che una delle cose belle di HBase è in quanto è scarsa (cioè non riserva spazio colonna per le righe con fuori valori). Una delle caratteristiche di questa decisione progettuale è che è possibile creare una nuova colonna (famiglia di colonne + qualificatore) semplicemente scrivendo per essa.

Problemi correlati