我在POC环境中运行,其中只有一个名称节点和一个数据节点在运行。 Impala守护程序正在数据节点上运行。两个节点各有128GB内存。我把mem_limit设置为60GB。
我在Impala有两张大桌子。第一张表有大约6.35亿条记录,第二张表大约有250000条记录。我内部使用一个通用参数连接这两个表。 SQL语句如下:
select a.*, b.* from table_a a inner join table_b b on a.param=b.param order by a.t_date desc
当我使用 EXPLAIN 时,它显示估计的每个主机要求:内存= 992.03MB VCores = 2 。当我运行此查询时,花了一个多小时,结果还没有返回。我想知道为什么花了这么长时间。这与mem_limit设置有关吗?我该如何调整这样的查询?
答案 0 :(得分:1)
尝试调整为Impala performance
一些理想的
big_table
加入small_table
summary
以查看需要很长时间的步骤。P / S:很抱歉,因为我没有足够的声望发布超过2个链接