Table A
---------
col1, col2,Adate,qty
Table B
-------
col2,cost,Bdate
表格大小如下:
A: 100万 B: 70万
考虑此查询:
SELECT
A.col1,
A.col2,
B.Bdate bdate,
SUM(qty)*COLLECT_LIST(cost)[0] price
FROM A
JOIN B
ON (A.col2 = B.col2 AND A.Adate <= B.Bdate)
GROUP BY
A.col1,
A.col2,
B.bdate;
上述Hive查询在一个由4个从节点(8GB内存,100GB硬盘)和1个主节点(16GB内存,100GB硬盘)组成的集群上需要超过3个小时的时间。
这个查询能否被优化?如果可以,哪里可以进行优化?