【发布时间】:2015-06-24 05:32:43
【问题描述】:
我在名为 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
我正在尝试使用 Suffix Globbing 检索所有带有 rowkey 匹配前缀 row 的行,如提到的 here
但是当我尝试http://localhost:8080/test/row* 时为什么会得到Bad request,其中localhost:8080 是HBase REST 服务器Stargate 正在侦听的位置,test 是表,row 是部分行键。我在浏览器和 REST 客户端海报(Firefox 插件)中执行它。执行 URL http://localhost:8080/test/row*/cf 会得到响应 value1 但我想检索所有行中的值,其中行键匹配前缀为 row。
我正在运行 HBase 0.94.26、Stargate(与 HBase 捆绑在一起)、Hadoop 1.2.1、Ubuntu 12.04 虚拟机。
是否可以至少以编程方式检索所有行?
【问题讨论】:
-
是的,您可以在 Java 和 PHP 中执行此操作。但我认为 Rest WS 必须工作你有机会通过这个链接archive.cloudera.com/cdh4/cdh/4/hbase/apidocs/org/apache/hadoop/…
-
或者先试试这个链接
http://localhost:8080/test/row.*我刚刚在asterix前面加了点。 -
感谢您的快速回复。我现在开始工作了。缺少的部分是将 Poster 中的 Accept 标头设置为 text/xml 或 application/json 等。一旦我这样做了,我就会在响应中得到所有匹配的行。请将您的第一个回复作为答案,以便我可以接受它作为解决方案。您分享的 Cloudera 链接帮助我解决了问题。
标签: rest hadoop hbase stargate