具有多个联接的大型查询将引发Stackoverflow异常

时间:2019-09-06 16:15:15

标签: hive hiveql hortonworks-data-platform

我需要查询大量联接的结果。当前,列数应导致大约30个连接产生约339列和10亿行。但是,此查询在Beeline CLI中引发了我的Stackoverflow异常。我目前为Hive堆大小设置了10G。

    Error: Error running query: java.lang.StackOverflowError 
    (state=,code=0)

到目前为止,我已经改变了

    hive.fetch.task.conversion = none

    hive.auto.convert.join = false

基于我在网上找到的建议,但并不高兴。

每当我减少行数或连接数时,我都不会收到此错误。但是即使只有10.000行,也再次引发错误。

我的查询与此类似

    select * from schema1.view_1
    JOIN `schema1`.`table1` ON (`view1`.`column1` = `table1`.`column1`)
    JOIN `schema1`.`table2` ON (`view1`.`column2` = `table2`.`column2`)
    JOIN `schema1`.`table3` ON (`view1`.`column3` = `table3`.`column3`)
    ...
    JOIN `schema2`.`table4` ON (`view1`.`column1` = `table4`.`column1`)
    JOIN `schema2`.`table5` ON (`view1`.`column2` = `table5`.`column2`)
    JOIN `schema2`.`table6` ON (`view1`.`column3` = `table6`.`column3`)

我希望Tableau可以使用此查询来创建提取并发布它。我知道Tableau可以像我之前所做的那样处理数据量。知道我是否可以在Beeline上运行此查询,我很高兴。有什么建议吗?

0 个答案:

没有答案
相关问题