【问题标题】:HBase REST API - Data Issue, Browser Issue, Doesn't seem to workHBase REST API - 数据问题,浏览器问题,似乎不起作用
【发布时间】:2016-09-23 17:23:41
【问题描述】:

​我遇到了一些与 HBase REST API 相关的问题。

让我先给你一点背景: 我在公司的 CDH 集群中构建了一个 HBase 表。行键是“|” .列族是“d”,列限定符是日期,也是字符串(例如,2012-01-27)。为了向公司中其他感兴趣的人提供对表数据的访问,我构建了一个 Django API,它运行良好。我团队中有人建议 Hbase 带有一个内置 API,我可以直接使用它来访问数据。我阅读了在线 HBase 文档,确实看起来 HBase 已经有了现成的东西。但是我没有成功使用它,因此我在这里寻求帮助。

以下是我遇到的问题列表:

  1. Chrome 浏览器 在 Chrome 浏览器中,我输入了以下网址: http://:20550/namespace:tablename/#00003|313001098/d 我期待它会呈现特定于浏览器中提供的行键的数据,但它会下载一个 html 文件,其中仅包含一个列限定符的数据,并且它没有关于数据属于哪个列限定符的任何信息.

  2. 卷曲 我在 unix shell 中对 curl 命令做了同样的事情。 curl -i http://:20550/namespace:tablename/%2300003%7C313001098/d 请注意,%23 是 # 的编码,%7C 是 | 的编码(管道)。 上面的命令只给了我一个列限定符的数据。

我使用以下命令使用 HBase shell 仔细检查了我的数据:

 get 'namespace:tablename', '#00003|313001098'

我从多个列限定符中获取数据。因此,我可以确认我遗漏了什么,或者 HBase 内置 API 不是为执行我正在尝试执行的操作而构建的。

提前致谢。

【问题讨论】:

    标签: hbase


    【解决方案1】:

    您需要指定所需的确切列。看起来 Rest API 不允许您获取超过 1 列。

    如果您参考此链接中的表 14:-http://hbase.apache.org/book.html#_rest,您会看到以下端点被暴露以使用 Hbase Rest API 执行获取操作:-

    1) /table/row/column:qualifier/timestamp

    2) /table/row/column:qualifier

    3) /table/row/column:qualifier/?v=number_of_versions

    所有这些都需要一个列:限定符

    您的查询需要采用以下格式:-

    http://:20550/namespace:tablename/#00003|313001098/d:20160202

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      相关资源
      最近更新 更多