我有一个HBase表(部分)利用十六进制字节来构造其rowkeys。我可以从Hbase Shell查询,如下所示
get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82"
但是,我想使用stargate API(或作为包装器的众多ruby gem之一)来远程查询hbase。
如果我运行上面完全相同的查询,我找不到404。请注意,:
和\
字符是网址编码的。
curl "http://myHbaseServer.domain:8080/my_table/XYZ%3A%5Cx7F%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5Cx82/content:raw"
=> 404 Not Found
我知道这种格式是正确的,因为当我简单地调用/
端点时它返回一个表列表。它也没有引发连接错误。关于这些角色是否被正确逃脱的任何想法?
谢谢!
答案 0 :(得分:1)
\x
不需要编码,这只是HBase用来表示非ASCII字节值的约定。 \x7F
应在网址
%7F