如何从REST客户端使用后缀glob从HBase检索多行?

时间:2015-04-17 11:28:51

标签: rest hadoop hbase stargate

我在名为test

的HBase表中有以下行

ROW COLUMN+CELL row1 column=cf:a, timestamp=1429204170712, value=value1 row2 column=cf:b, timestamp=1429204196225, value=value2 row3 column=cf:c, timestamp=1429204213427, value=value3

我正在尝试使用后缀Globbing 检索rowkey匹配前缀row的所有行,如上所述here

但是当我尝试Bad request时,为什么我得到http://localhost:8080/test/row* localhost:8080是HBase REST服务器Stargate正在侦听的地方,test是表格row是一个部分rowkey。我在浏览器和REST客户端Poster(Firefox插件)中执行它。执行URL http://localhost:8080/test/row*/cf会给出响应value1,但我想检索rowkey匹配前缀row的所有行中的值。

我正在运行HBase 0.94.26,Stargate(捆绑了HBase),Hadoop 1.2.1,Ubuntu 12.04虚拟机。

是否可以至少以编程方式检索所有行?

1 个答案:

答案 0 :(得分:1)

根据doc,REST可以很好地检索所有行。但是,您只需相应地修改URL。 根据我的意见,尝试以下对它们的评论应该有效,请注意我还没有测试过。

http://localhost:8080/test/row*

http://localhost:8080/test/row
  

后缀全球化

     

行的多个值查询可以选择附加后缀glob   行键。这是一种限制形式的扫描仪,它将返回   包含所提供键的键的所有行中的所有值   在他们的左手边,例如:

org.someorg.*
    -> org.someorg.blog
    -> org.someorg.home
    -> org.someorg.www