gpt4 book ai didi

hadoop - 如何在 map reduce 中创建输出文件 (part-m-0001/part-r-0001)

转载 作者:可可西里 更新时间:2023-11-01 16:22:57 25 4
gpt4 key购买 nike

我知道 map reduce 输出存储在名为 part-r-* for reducer 和 part-m-* for mapper 的文件中。

当我运行 mapreduce 作业时,有时会在单个文件中获得整个输出(大小约为 150MB),有时对于几乎相同的数据大小,我会得到两个输出文件(一个 100mb 和另一个 50mb)。这对我来说似乎很随意。我找不到任何原因。

我想知道它是如何决定将该数据放入单个或多个输出文件中的。如果有任何方式我们可以控制它。

谢谢

最佳答案

与 Jijo 在此处的回答中指定的不同 - 文件的数量取决于 Reducers/Mappers 的数量。

与集群物理节点数无关

规则是:一个 Reducer 一个 part-r-* 文件。 Reducer 的数量由 job.setNumReduceTasks();

设置

如果您的工作中没有 Reducers - 那么一个 Mapper 的一个 part-m-* 文件。一个 InputSplit 对应一个 Mapper(通常 - 除非您使用自定义 InputFormat 实现,否则输入数据的一个 HDFS block 对应一个 InputSplit)。

关于hadoop - 如何在 map reduce 中创建输出文件 (part-m-0001/part-r-0001),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22140797/

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