2011-03-15 32 views
0

我想读取基于两个家族(如姓名和年龄)的HBase表。 我们该怎么做?如何根据表中的两个家族读取Hbase表

+0

不确定你的意思,特别是为什么名字和年龄是家庭。如果你的意思专栏看看http://stackoverflow.com/questions/5323700/is-there-any-way-to-limit-the-number-of-columns-in-hbase/5324242#5324242 – imyousuf 2011-03-16 10:54:07

回答

0

HBase具有表,列系列和列限定符。一般建议是创建尽可能少的色谱柱族(< < 10)。

行键指定特定的数据。所以,如果你想获得一个特定的行你构建一个GET:

Get g = new Get(rowkey); 

一旦你有一个结果,你可以通过指定的家庭/预选赛拉出一个给定列预选赛:

HTable t = new HTable(tablename); 
Result row = t.get(g); 
byte[] value = row.getValue(family, qualifier); 

你也可以遍历行中所有键/值对(其中键包含列家族/列限定符):

List<KeyValue> list = row.list(); 
for (KeyValue kv: list) { 
... 
}