我有一个从客户端收到的分层XML文件,我需要将它存储在Hbase数据库中,因为我是新的Hbase我不能理解如何接近,你能指导我应该如何进行这种分层数据存储到Hbase。
提前感谢
发布于 2011-11-20 20:29:36
Hbase以列的格式存储数据。每条记录必须有一个唯一的键。可以动态创建子列,但不能创建主列。
例如,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>在本例中,主列族将是X3和X7。行Id可以从X2中获取。您可以使用java api构造与此等效的Hbase条目,如下所示
Put p = new Put("/*put the unique row id */ ".getBytes() );
p.add("X3".getBytes(), "X4".getBytes(), value1.getBytes());其中第一个参数是列族,第二个参数称为列限定符(子列)。
您还可以使用双参数构造函数,例如,
p.add("X3:X6:X7".getBytes(),value3);然后是table.put(p)。就是这样!
https://stackoverflow.com/questions/8173983
复制相似问题