我正在hbase集成外部hive表和另一个hive表之间执行一个非常简单的连接。我可以单独查询它们,但不能使用连接一起查询。
SELECT c.rowkey
FROM
lookup_customerstatuslookup c --hbase integrated external hive table
JOIN customerstatus b -- hive table
on c.rowkey = b.customerstatuskey
我对如何进一步调试没有任何线索。
答案 0 :(得分:0)
由于Hive具有类似SQL的特性,因此使用存储的结构化数据构建作业更简单,更容易,从而证明其在Hadoop中的广泛使用。虽然这是真的,但另一个事实值得关注:当Hive连接中存在大型数据集时,面临的一个常见困境是由于内存不足或Java堆空间导致的错误。
增加堆大小
在包含map-join和/或EQUI连接之后,您可能想要了解的一件事是增加MapReduce的子任务的堆大小。 您可以通过将属性“mapred.child.java.opts”设置为更高的值来实现。例如,要将堆大小增加到1GB,请将其设置为
mapred.child.java.opts= -Xmx1024m