用于巨大 HBase 表的 Phoenix View

Posted

技术标签:

【中文标题】用于巨大 HBase 表的 Phoenix View【英文标题】:Phoenix View for huge HBase Table 【发布时间】:2017-08-15 06:39:44 【问题描述】:

我正在开发安装了 HBase 1.1.2 和 Phoenix 4.7 的 Hortonworks Data Platform 2.6 集群。

我有一个包含很多列的巨大 HBase 表,如果添加新数据(数据由 HBase API 的 Put 机制添加),有时会添加新列。

现在我想在这张桌子上使用 Phoenix。我找到了这个教程,说我必须根据 HBase 表结构创建一个单独的 Phoenix 视图:https://khodeprasad.wordpress.com/2016/07/26/how-to-use-existing-hbase-table-in-apache-phoenix/

根据教程,我必须列出所有列族和列(!目前超过 1000 个,并且还在增加),这将是很多工作,而且视图不会达到最新状态-date 如果新列被添加到 HBase 表中。

现在我的问题是:

    将 Phoenix 用于如此巨大的桌子是否有意义,而且随着时间的推移也会发生变化? 有没有一种方法可以创建类似于“动态”Phoenix 视图以自动适应 HBase 列?

【问题讨论】:

您可能想查看只读视图phoenix.apache.org/views.html。 Phoenix 非常擅长处理海量数据集,但是……您应该使用视图来分析您的数据模型。这是唯一确定的方法。如果只是一张表,我认为它会比 SELECT/JOIN 表现更好 【参考方案1】:

Phoenix 可以很好地处理随时间变化的大型表格。如果稍后添加列,您可以更改只读视图并添加列。 phoenix 视图将追溯显示该列中的所有数据。没有一种方法可以创建动态视图,就像在 Phoenix 中的 SQL(即 CREATE VIEW 视图 AS SELECT * FROM TABLE)中那样,无需编写自己的 Java 程序来创建和保持列最新

【讨论】:

以上是关于用于巨大 HBase 表的 Phoenix View的主要内容,如果未能解决你的问题,请参考以下文章

使用 phoenix 连接器将 Spark 数据帧写入 Hbase

HBase 5Phoenix使用

phoenixrc5.5报错

大数据(5e)Spark之Scala读写HBase之Phoenix表

CDH6.3.2 启用Kerberos 集成使用phoenix

CDH6.3.2 启用Kerberos 集成使用phoenix