2012-09-12 36 views
6

Hbase için yeni. Sütun ailesine sütun eklemeyi nasıl gösterebilirim. Bunun gibi verilerim var:hbase sütun ailesine sütun ekleme

{ 
name: abc 
addres: xyz 
} 

Sütun ailesiyle bir masa testim var. Bu kişiye nasıl isim ve adres ekleyebilirim? Lütfen java'nın yanı sıra hbase komut satırında göster.

cevap

14

HBase Kabuk: Hbase kabuk vikiden

: http://wiki.apache.org/hadoop/Hbase/Shell

tablo/sıra/sütun ve isteğe bağlı olarak zaman damgası koordinatları belirtilen bir hücre 'değeri' koyun. Zaman 'TS1' ile işaretlenmiş sütun 'c1' altındaki satırda 'r1' de masaya 't1' içine Bir hücredeki değeri koymak için yapın: Böyle

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

şey sizin durumunuzda:

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

: JP Bond size ihtiyacınız örnek kodu verdi

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

Hbase'in "kişi: isim" baska bir baska isimden farkli olup olmadigini biliyor musunuz? Başka bir deyişle, ":" hbase'de özel bir anlam taşıyor mu, yoksa bütünlüğü bir ip gibi mi basıyor? –

+0

Değer, şu biçimde olmalıdır: ": ". , sütun ailesindeki sütunun adıdır ve , ilk aile sütununa sahip olduğumu görebildiğim sütun ailesi –

+0

'dur, ancak "kişi: ad: ad adı" gibi başka bir sütun sütunu eklemek isterseniz hbase'de özel olarak ele alınan "name: firstname"? –

6

- bunun yani satırları için sütun alanı ayırmaz (seyrek olduğundan Hbase hakkında güzel şeylerden biri olduğunu eklemek istedim çıkış değerleri). Bu tasarım kararının özelliklerinden biri, yalnızca yazarak yeni bir sütun (sütun ailesi + niteleyici) oluşturabilmenizdir.