2011-01-04 17 views
8


複数のディレクトリに存在する圧縮gz形式のファイルを複数(100MB以上2〜3MB)持つ状況があります。例
A1/B1/C1 /パート0000.gz
A2/B2/C2 /パート0000.gz
A1/B1/C1 /パート0001.gz複数のディレクトリから入力ファイルを取得するHadoopジョブ

ため私はすべて供給しなければなりませんこれらのファイルを1つのマップジョブにまとめます。私が見るところでは、MultipleFileInputFormatを使うためには、すべての入力ファイルが同じディレクトリに存在する必要があります。複数のディレクトリをジョブに直接渡すことは可能ですか?
そうでなければ、これらのファイルを名前の競合なしで効率的に1つのディレクトリに配置するか、これらのファイルを1つの圧縮GZファイルにマージすることが可能です。
注:私はMapperを実装するためにplain javaを使用していますが、Pigまたはhadoopストリーミングを使用していません。

上記の問題に関するお手伝いをさせていただきます。
おかげで、
Ankit

答えて

16

FileInputFormat.addInputPaths()、複数のファイルのカンマ区切りリストを取る

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

はいのようなことができ、私が望んでいたまさに感謝。 – Ankit

関連する問題