【问题标题】:Hadoop: Does using CombineFileInputFormat for small files gives performance improvement?Hadoop:对小文件使用 CombineFileInputFormat 是否可以提高性能?
【发布时间】:2016-03-19 21:37:58
【问题描述】:

我是 hadoop 新手,在本地机器上进行了一些测试。

有很多解决方案可以处理许多小文件。我正在使用 CombinedInputFormat,它扩展了 CombineFileInputFormat

我看到使用 CombinedInputFormat 的映射器数量已从 100 变为 25。由于映射器数量减少,我是否还应该期待任何性能提升?

我对许多小文件执行了 map-reduce 作业没有 CombinedInputFormat100 个映射器花了 10 分钟

但是当 使用 CombinedInputFormat 执行 map-reduce 作业时:25 个映射器耗时 33 分钟

任何帮助将不胜感激。

【问题讨论】:

  • 我尝试在具有三个节点集群的 aws 上执行此示例,但发现性能没有任何改善。总共有 1000 个小文件。映射器的数量从 1000 个减少到 67 个。

标签: hadoop mapreduce


【解决方案1】:

Hadoop 在处理少量大文件时的性能优于处理大量小文件。 (这里的“小”表示比 Hadoop 分布式文件系统 (HDFS) 块小得多。“数字”表示范围为 1000 秒)。

这意味着如果你有 1000 个 1Mb 大小的文件,基于普通TextInputFormat 的 Map-reduce 作业将创建 1000 个 Map 任务,每个 Map 任务都需要一定的时间来开始和结束。任务创建中的这种延迟会降低作业的性能

在资源有限的多租户集群中,获取大量 Map slot 也将很困难。

请参阅此link 了解更多详情和基准测试结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多