【发布时间】:2012-09-02 04:10:02
【问题描述】:
我正在尝试执行以下查询,并且加载数据需要很长时间,因为第二个作业只使用了一个 reducer。
插入表 ddb_table SELECT * FROM data_dump sort by rank desc LIMIT 1000000;
为上述查询创建了两个作业。第一项工作运行得非常快,因为它使用了 80 个映射器和大约 22 个减速器。第二个作业映射器很快,但由于单个减速器,它非常慢。
我尝试使用 set mapred.reduce.tasks=35 增加 reducer 数量,但有趣的是,它只应用于第一个作业,而不是第二个作业。
为什么使用单个减速器?是因为 sort by 子句吗? 如何设置最大减速器?
有没有更好的方法?
【问题讨论】: