gpt4 book ai didi

Hadoop HDFS - 保留许多部分文件或 concat?

转载 作者:可可西里 更新时间:2023-11-01 14:54:41 31 4
gpt4 key购买 nike

在 Hadoop 中运行 map-reduce 作业后,结果是一个包含部分文件的目录。 part 文件的数量取决于 reducer 的数量,可以达到几十个(在我的例子中是 80 个)。

保留多个部分文件是否会影响 future map-reduce 操作的性能,是好是坏?采取额外的缩减步骤并合并所有部分会提高还是降低进一步处理的速度?

请仅引用 map-reduce 性能问题。我不关心以任何其他方式拆分或合并这些结果。

最佳答案

在零件目录上运行进一步的 mapreduce 操作应该对整体性能几乎没有影响。

原因是Hadoop做的第一步是根据大小拆分输入目录中的数据,并将拆分后的数据放到Mappers上。由于它已经将数据拆分为单独的 block ,拆分一个文件与多个文件应该不会影响性能,通过网络传输的数据量应该大致相等,处理量和磁盘时间也应该相等。

可能会有一些退化的情况,零件文件会变慢。例如,您拥有数千/数百万个零件文件,而不是 1 个大文件。我还可以想到拥有多个零件文件会更快的情况。例如,如果您没有可拆分文件(除非您使用某些压缩方案,否则通常不会出现这种情况),那么您必须将您的 1 个大文件放在一个映射器上,因为它不可拆分,其中许多部分文件将是或多或少地正常分布。

关于Hadoop HDFS - 保留许多部分文件或 concat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16504626/

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