【问题标题】:Combine Map output for directory to one file将目录的地图输出合并到一个文件中
【发布时间】:2016-06-07 21:14:01
【问题描述】:

我有一个要求,我必须将一个目录的映射器的输出合并到一个文件中。假设我有一个包含 3 个文件的目录 A。

../A/1.txt ../A/2.txt ../A/3.txt

我需要运行一个映射器来处理这些文件,这些文件会生成一个输出文件。 我知道 REDUCER 会这样做,但我不想使用 REDUCER 逻辑

                                 OR

我可以只有一个映射器来处理目录下的所有文件吗?

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    如果您设置 fuse 以将 HDFS 挂载到本地目录,那么您的输出可以是挂载的文件系统。

    例如,我将我们的 HDFS 安装到本地 /mnt/hdfs。我运行以下命令,效果很好:

    hadoop fs -getmerge /reports/some_output /mnt/hdfs/reports/some_output.txt

    当然,使用 fuse 将 HDFS 挂载到本地目录还有其他原因,但这对我们来说是一个很好的副作用

    【讨论】:

      【解决方案2】:

      我可以只有一个映射器来处理目录下的所有文件吗?

      您是否研究过 CombinedFileInputFormat? Felix Ren-Chyan Chern 详细介绍了设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-03
        • 2020-08-31
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多