Hive hbase配置单元加入失败

Hive hbase配置单元加入失败,hive,hbase,Hive,Hbase,我正在hbase集成的外部配置单元表和另一个配置单元表之间执行一个非常简单的联接。我可以单独查询它们,但不能使用联接一起查询 SELECT c.rowkey FROM lookup_customerstatuslookup c --hbase integrated external hive table JOIN customerstatus b -- hive table on c.rowkey = b.customerstatuskey 下面是以色调显示的错误消

我正在hbase集成的外部配置单元表和另一个配置单元表之间执行一个非常简单的联接。我可以单独查询它们,但不能使用联接一起查询

SELECT c.rowkey 
FROM 
lookup_customerstatuslookup c   --hbase integrated external hive table
JOIN customerstatus b           -- hive table
on c.rowkey = b.customerstatuskey
下面是以色调显示的错误消息。它甚至没有进展到映射阶段。


我不知道如何进一步调试它。

由于Hive类似SQL的特性,用存储的结构化数据构建作业更简单、更容易,因此证明了它在Hadoop中的广泛应用。虽然这是事实,但另一个事实值得注意:当配置单元连接中存在大型数据集时,经常面临的困境是内存不足或java堆空间不足导致的错误

增加堆大小

在包含映射联接和/或EQUI联接之后,您可能希望看到的一件事是增加MapReduce子任务的堆大小。 可以通过将属性“mapred.child.java.opts”设置为更高的值来实现。例如,要将堆大小增加到1GB,请将其设置为

mapred.child.java.opts=  -Xmx1024m

蜂巢错误可能毫无用处。日志映像中没有错误消息,完整日志中是否有错误?我测试了hbase集成配置单元与hbase集成配置单元表之间的联接,但在与上面相同的日志中失败。@Andrew有时,如果更改查询有点像select count(*),则会在该jobconf.xml行之后显示错误。执行失败,退出状态为2。获取错误信息。任务失败。任务id:阶段4。现在,第四阶段是我在解释计划中看到的第一步。由于某种原因,此错误消息中没有任何结论性消息map join在我的案例中不起作用。所以我试着禁用了它,它对你的答案起了作用,但问题与我的记忆无关。两个表的行数都少于1k,因此优化器选择了映射联接。当hbase集成配置单元表被引入到映射联接时,映射联接以某种方式失败。我和Cloudera讨论了这个问题,他们建议禁用地图端连接。