如何使用rest api从HBase中的列族获取列名?

时间:2018-02-16 10:13:51

标签: hbase

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

只能获得列系列名称(“信息”)。但我需要获取表中的所有列名。请告诉我如何使用rest api获取它。提前谢谢。

2 个答案:

答案 0 :(得分:0)

HBase中没有列的架构,您不需要提前声明它们,换句话说,您可以在列族中的任何列中插入数据。

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

答案 1 :(得分:0)

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

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

  1. 存储架构较少的数据(但看着你的例子,这似乎不是你的用例)
  2. 结构化架构。 (您的用例显示行为的方式,这意味着您不会动态添加列)
  3. 当您使用带有结构化架构的Hbase时,您可能编写了API来维护Hbase表数据与用于插入数据的对象之间的契约。 (例如,类似.CustomerHbaseMapper.java)所以你可以增强相同的API来返回Hbase表的列。