【问题标题】:Hadoop job taking input files from multiple directoriesHadoop 作业从多个目录获取输入文件
【发布时间】:2011-06-03 08:32:27
【问题描述】:


我有一种情况,我有多个(100+,每个 2-3 MB)压缩 gz 格式的文件存在于多个目录中。例如
A1/B1/C1/part-0000.gz
A2/B2/C2/part-0000.gz
A1/B1/C1/part-0001.gz

我必须将所有这些文件输入到一个地图作业中。据我所见,使用 MultipleFileInputFormat 所有输入文件都需要位于同一目录中。是否可以将多个目录直接传递到作业中?
如果不是,那么是否可以有效地将这些文件放入一个目录而不会发生命名冲突,或者将这些文件合并为 1 个单独的压缩 gz 文件。
注意:我使用纯 java 来实现 Mapper,而不是使用 Pig 或 hadoop 流。

对上述问题的任何帮助将不胜感激。
谢谢,
Ankit

【问题讨论】:

    标签: file input hadoop


    【解决方案1】:

    FileInputFormat.addInputPaths() 可以采用逗号分隔的多个文件列表,例如

    FileInputFormat.addInputPaths("foo/file1.gz,bar/file2.gz")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      相关资源
      最近更新 更多