【问题标题】:Make mappers process multiple files and not single files使映射器处理多个文件而不是单个文件
【发布时间】:2023-04-01 05:25:01
【问题描述】:

我有一个 hadoop 映射器代码,它将文件作为输入处理它们并将单个键和处理后的值发送到减速器。问题是我有近 100000 个不超过 5,6 kb 的文本文件,但是当我运行该作业时,需要很长时间才能完成。一个原因是每个映射器开始只处理一个文件,然后被销毁。因此,即使处理的计算成本并不高,我在映射器启动时也会浪费很多时间。如何确保映射器继续处理多个文件? 我对映射器的最大限制是默认设置,我可以看到它为 6。

如果需要任何进一步的细节,请告诉我。

【问题讨论】:

    标签: performance hadoop mapreduce


    【解决方案1】:

    您应该使用CombineFileInputFormat 来处理许多小文件。这确实有助于提高性能。

    【讨论】:

    • 我也想知道文件名,当我运行 combinerMethod 时,它给了我这个错误:mapreduce.lib.input.CombineFileSplit cannot be cast to org.apache.hadoop.mapred.FileSplit跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2017-07-14
    • 2013-09-11
    • 2013-07-21
    • 2012-12-18
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    相关资源
    最近更新 更多