gpt4 book ai didi

hadoop - 在节点之间平均分配重量级任务

转载 作者:行者123 更新时间:2023-12-02 21:53:43 24 4
gpt4 key购买 nike

我有一个MapReduce作业,其中包含一个包含多行记录的单个输入文件。每条记录花费了相当数量的时间来处理。因此,尽管我的输入文件的大小可能远远小于HDFS块大小,但在单个节点上执行该文件时将花费大量时间。

如何告诉Hadoop在节点之间有效地平均分割输入文件?这样,即使输入文件很小,它仍然会分成几个要并行执行的任务。

另外,我们能否告诉hadoop将文件精确地划分为N个任务,其中N是可用节点数?

谢谢!

编辑:
为了更加清楚,我想做的事情如下。我有很多大文件。我有一个外部程序,将处理每个文件。每个文件都需要花费大量时间来处理。

因此,我将文件的文件名存储在输入文件中,然后希望Hadoop对其进行平均分割。然后在映射器中,我将与ID对应的文件复制到本地计算机并调用该程序。

最佳答案

您可以为您的工作设置映射器和化简器任务的数量,如下所示

    conf.setNumMapTasks(10);
conf.setNumReduceTasks(5);

您也可以使用 mapred.max.split.size属性根据需要更改输入拆分大小。

关于hadoop - 在节点之间平均分配重量级任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17439643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com