通过Ruby查询HBase Stargate的十六进制行键
我有一个HBase表,它(部分)利用十六进制字节来构造它的行键。我可以从Hbase Shell中进行如下查询通过Ruby查询HBase Stargate的十六进制行键,ruby,url,hbase,stargate,Ruby,Url,Hbase,Stargate,我有一个HBase表,它(部分)利用十六进制字节来构造它的行键。我可以从Hbase Shell中进行如下查询 get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82" 但是,我想使用StargateAPI(或者作为包装器的许多ruby Gem之一)远程查询hbase 如果我运行上面完全相同的查询,我会得到一个404notfound。请注意,:和\字符是URL编码的 curl "http://myHbaseServer.domain:8080/
get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82"
但是,我想使用StargateAPI(或者作为包装器的许多ruby Gem之一)远程查询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
我知道这种格式是正确的,因为当我简单地调用/
端点时,它会返回一个表列表。它也没有抛出连接错误。关于这些角色是否被正确转义有什么想法吗
谢谢
\x
不需要编码,这只是HBase用于表示非ASCII字节值的约定<代码>\x7F应在URL中转换为%7F