複数のレベルのファイルを含む、ネストされたディレクトリ構造を処理するジョブに取り組んでいます。
one/
├── three/
│ └── four/
│ ├── baz.txt
│ ├── bleh.txt
│ └── foo.txt
└── two/
├── bar.txt
└── gaa.txt
入力パスとして追加するone/
と、ルート レベルですぐに使用できるファイルがないため、ファイルは処理されません。
について読みましjob.addInputPathRecursively(..)
たが、これは最近のリリースでは非推奨になっているようです (私は Hadoop 1.0.2 を使用しています)。フォルダーをウォークスルーし、各ディレクトリを で追加するコードをいくつか書きました。これは、何らかの理由でディレクトリjob.addInputPath(dir)
を入力ファイルとして処理しようとしたときにジョブがクラッシュするまで機能しましfs.open(split.getPath())
た。 .split.getPath()
LineRecordReader.java
ネストされたディレクトリ構造を持つジョブを提供するためのより簡単な方法が必要であると自分自身に納得させようとしています。何か案は?
編集- どうやらこれには未解決のバグがあります。