【问题标题】:Querying HBase Stargate for a hexadecimal rowkey via Ruby通过 Ruby 查询 HBase Stargate 以获取十六进制行键
【发布时间】:2014-08-16 16:43:48
【问题描述】:

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

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

但是,我想使用 stargate API(或用作包装器的众多 ruby​​ gem 之一)远程查询 hbase。

如果我运行上面完全相同的查询,我会得到一个 404 未找到。请注意,:\ 字符是 URL 编码的。

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

我知道这种格式是正确的,因为当我简单地调用/ 端点时它会返回一个表格列表。它也不会引发连接错误。关于这些字符是否被正确转义的任何想法?

谢谢!

【问题讨论】:

    标签: ruby url hbase stargate


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2012-07-29
      • 2019-04-13
      • 1970-01-01
      相关资源
      最近更新 更多