【问题标题】:How to get column names from column family in HBase using rest api?如何使用rest api从HBase的列族中获取列名?
【发布时间】:2018-07-27 05:25:33
【问题描述】:

我正在尝试使用 rest api 获取 hbase 中表的列名。 网址:http://localhost:10005/Customers/schema

我只能获取列族名称(“信息”)。但我需要获取表中存在的所有列名。请让我知道如何使用rest api获得它。?提前致谢。

【问题讨论】:

    标签: hbase


    【解决方案1】:

    HBase 中没有列的模式,你不需要提前声明它们,也就是说你可以在列族内的任何列中插入数据。

    因此,如果您想知道表中有哪些列,则必须执行全扫描并分析每个单元格。所以我怀疑是否有一个 REST API 方法。

    【讨论】:

      【解决方案2】:

      是的,我同意@AdamSkywalker。要获取 Hbase 表的列名,您必须进行全表扫描,因为 Hbase 是无模式数据库,因此您无法以简单的方式检索元数据。无论如何,检索无模式表的列名不是一个好的选择。

      这取决于你对 Hbase 的使用(我的意思是你如何存储数据)

      1. 存储架构较少的数据(但看看您的示例,这似乎不是您的用例)
      2. 结构化架构。 (您的用例显示行为的方式,这意味着您不会动态添加列)

      当您使用带有结构化架构的 Hbase 时,您可能已经编写了 API 来维护 Hbase 表数据和用于插入数据的对象之间的契约。 (例如,CustomerHbaseMapper.java)因此您可以增强相同的 API 以返回 Hbase 表的列。

      【讨论】:

      • 您好,请告诉我 hbase 中用于全扫描表的其余 api 吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      相关资源
      最近更新 更多