我有多个文件,通过单个文件使用蜂巢union all
,现在union all
查询加入超过10个蜂巢表,并且非常缓慢。每个个人union all
查询也有一个或多个连接条件。还需要配置单元性能联盟全部
我的预期最终结果以由主键进行分组,e.g:
table 1
key1|val1|val2|..
table 2
key1|val10|val11|..
insert overwrite <temptable>
select key, output_string from
(select key, concat (col1,col2,..) from table 1 where <join conditions>
union all
select key, concat(col10,col11,..) from table 2 where <join conditions>
..
)
cluster by key;
union all
将结合以上两个表中,我使用簇通过键,以产生期望的结果。蜂巢的表现非常缓慢,其他的选择是什么?
我看@ veeraB的答案,看起来很权威。我想问的第一个问题是每个单独查询需要多长时间 - 任何长时间运行的查询都会影响整个“工会”链。接下来的问题是,Hive可以以这样的方式解析查询:并行运行每个查询,这可以通过'EXPLAIN'或者只是在执行时观察;如果不是,'hive.optimize.union.remove'设置可能是一个选项。 –