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

时间:2016-03-28 07:58:48

标签: hadoop hive hbase

大家

我是Hadoop World的新手,我在使用Hbase时遇到了一些问题。

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

那么,如何加入empolyee和部门?

我是否需要安装Hive?

1 个答案:

答案 0 :(得分:1)

如果表位于两个单独的群集中,则需要将一个 HBase 表从一个群集中获取到另一个群集。这可以通过sqoop完成。

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

有一个JIRA可以增强此行为,以便自动更新,但此时此类功能的ETA尚不清楚。

我建议,除非你有非常具体的实时需求(在这种情况下凤凰,如果你可以忍受视图限制,可能是更好的选择),就是使用{ {3}}

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

Hive 将是另一种选择,但在这种情况下,您需要 sqoop HBase 中的两个表转换为 Hive < / em>,然后从 Hive 中继续。