通过ruby查询hbase stargate中的十六进制rowkey

quhf5bfb  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(435)

我有一个hbase表(部分)使用十六进制字节来构造它的行键。我可以从hbase shell进行如下查询

get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82"

但是,我想使用stargateapi(或者作为 Package 器的众多ruby gems之一)远程查询hbase。
如果我运行上面完全相同的查询,我会得到一个404notfound。请注意 : 以及 \ 字符是url编码的。

curl "http://myHbaseServer.domain:8080/my_table/XYZ%3A%5Cx7F%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5Cx82/content:raw"
=> 404 Not Found

我知道这种格式是正确的,因为当我简单地调用 / 终结点。它也不会引发连接错误。关于这些角色是否被恰当地逃脱有什么想法吗?
谢谢!

mccptt67

mccptt671#

\x 不需要编码,这只是hbase用来表示非ascii字节值的约定。 \x7F 应转换为 %7F 在url中

相关问题