如何在Hbase中加入两个表

时间:2014-08-31 05:45:51

标签: hadoop mapreduce hbase

问题:

我是Hbase的新手,我遇到了需要加入两张桌子的情况 我们假设我在Hbase中创建了Employee表和Department表。通过阅读Hbase,我知道我们无法在Hbase中连接表。

解决方案:

我找到了一个解决方案,通过使用Hbase类和接口编写MapReduce代码,我们可以完成这项任务。

此外,如果有人可以帮助我进行非常有用的编码

3 个答案:

答案 0 :(得分:6)

你应该在apache中看看这个jira问题。您应该使用MultiTableInputFormat。 https://issues.apache.org/jira/browse/HBASE-3996

另见: how to join tables in hbase

答案 1 :(得分:1)

最简单的方法是将HBase表加载到HiveImpala并使用这些工具执行SQL连接。

答案 2 :(得分:1)

当数据量很大并且我们面临Hbase kill(区域服务器关闭)等问题时,使用Hive或Impala会很昂贵。所以当数据很小但不适合大数据时很方便。在mapreduce中取Hbase表对象取一个表并通过扩展tablemapper使用第二个表。通过这种方式,您可以加入2个表。