我试过在我的查询前加上:
set mapred.running.reduce.limit = 25;
和
set hive.exec.reducers.max = 35;
最后一个将 530 个减速器减至 35 个的工作被判入狱……这让我认为它会尝试将 530 个减速器的工作量提高到 35 个。
现在给
set mapred.tasktracker.reduce.tasks.maximum = 3;
尝试查看该数字是否是每个节点的某种最大值(以前在具有 70 个潜在减速器的集群上为 7)。
更新:
set mapred.tasktracker.reduce.tasks.maximum = 3;
没有效果,不过值得一试。