如何从另一个 Hbase table 加入 Hbase table?

How to join Hbase table from another Hbase table?

大家

我是 Hadoop World 的新手,我在 Hbase 连接方面遇到了一些问题。

我有两个集群,clusterA的Hbase有员工table,clusterB的Hbase有部门table。

那么,如何加入员工和部门?

我需要安装 Hive 吗?

如果表位于两个独立的集群中,您需要将 HBase 表中的一个从一个集群转移到另一个集群。这可以通过 sqoop.

完成

理论上,您可以按照 Vignesh I 在评论中的建议使用 Phoenix,但是,有一些那里的限制。您需要为这两个 HBase 表创建一个 Phoenix 视图。 HBase Phoenix 中的原生视图,目前,如果它们在 Phoenix 之外更新,则不会自动更新,大多数原生 HBase 表应该是。这有效地在 Phoenix 快照中呈现原生 HBase 表的视图,而不是视图;您将需要定期重建任何索引(以及可能的统计信息),以便捕获对基础 HBase 表的任何更新。

有一个 JIRA 打开来增强此行为,以便它会自动更新,但目前尚不清楚此类功能的预计到达时间。

我会推荐什么,除非你有非常具体的实时需求(在这种情况下 Phoenix,如果你能忍受视图限制,可能是更好的选择) , 就是用 Pig.

Pig 脚本中,您可以连接两个 HBase 表,然后执行各种转换。

Hive 是另一种选择,但在那种情况下,您需要 sqoop 来自 HBase 的两个表 进入 Hive,然后在 Hive.

中从那里继续