代码之家  ›  专栏  ›  技术社区  ›  Leonard

如何在hadoop中将大量文件连接成一个文件,而不进行映射或缩减

  •  0
  • Leonard  · 技术社区  · 14 年前

    我正试图将多个输入目录中的多个文件合并到一个文件中,因为各种奇怪的原因,我不想进入。我最初的尝试是编写一个“nul”映射器和reducer,它只是将输入复制到输出,但失败了。我最近的尝试是:

    vcm_hadoop lester jar/vcm/home/apps/hadoop/contrib/streaming/hadoop-*-streaming.jar-input/cruncher/201004/08/17/00-output/lcuffcat9-mapper/bin/cat-reducer-none

    但我最终还是得到了多个输出文件。有人知道我如何把所有东西都哄成一个输出文件吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Karl Anderson    14 年前

    保留CAT映射器并使用单个CAT减速器。确保将减速器的数量设置为1。输出也将通过分拣机。

    您需要使用减速机,因为您只能建议映射程序的数量。

    如果不希望对输出进行排序,可以让映射器将文件名作为输入,从该文件读取,并将文件名和行号作为键输出,将文件中的一行作为值输出,然后让还原器丢弃键并输出值。