我正在尝试执行以下查询,并且加载数据需要很长时间,因为第二个作业只使用了一个减速器。
INSERT INTO TABLE ddb_table SELECT * FROM data_dump sort by rank desc LIMIT 1000000;
为上述查询创建了两个作业。第一项工作运行得非常快,因为它使用了 80 个映射器和大约 22 个减速器。第二个工作映射器很快,但由于单个减速器,它非常慢。
我尝试使用set mapred.reduce.tasks=35增加减速器数量,但有趣的是,它仅适用于第一份工作,而不是第二份。
为什么使用单个减速器?是因为 sort by 子句吗?如何设置最大减速器?
有更好的方法吗?