这在apache hive的wiki页面上有说明:如果要联接的表中只有一个较小,则联接可以作为仅Map作业执行。查询SELECT /*+ MAPJOIN(b) */ a.key, a.value FROM a JOIN b ON a.key = b.key 不需要减速器。对于a的每个Map器,b被完全读取。如果一个被连接的表很小,而另一个表足够大,足以占用单个Map器的资源,那么如何确定Map器的数量?那么连接会自动变成非Map连接吗?
FROM a JOIN b ON a.key = b.key
t1qtbnec1#
另一张table不能太大。它正在通过Map器进行流式处理。
1条答案
按热度按时间t1qtbnec1#
另一张table不能太大。
它正在通过Map器进行流式处理。