0

パラメータに応じて、入力ディレクトリからの特定の(少数の!)入力ファイルのみを必要とするHadoopアプリケーションがあります。私の質問は今です:それらのファイルをスキップするのに最適な場所はどこですか(できるだけ早く読んでください)?今、私はそれを処理するためにRecordReaderをカスタマイズしましたが、それらのファイルをもっと早くスキップできるかどうか疑問に思いました。私の現在の実装では、関連性のないファイルのために、hadoopにはまだ大きなオーバーヘッドがあります。

たぶん、特定の入力ファイルが必要かどうかを確認するのは非常に簡単だということを付け加えておきます。ファイル名がパラメータで始まる場合は、それが必要です。入力ディレクトリを階層的に構造化することは解決策かもしれませんが、すべてのファイルが特定のディレクトリで孤独になるため、私のプロジェクトではあまりありそうにありません。

4

2 に答える 2

1

TextInputFormatでsetInputPaths()メソッドを使用して、コンマ区切りのファイル名を含む単一の文字列を指定することに成功しました。

于 2012-11-19T21:01:25.353 に答える
1

Pathここに記載されているように、入力に適切なパターンを適用して、入力ファイルを除外することをお勧めします。https
://stackoverflow.com/a/13454344/1050422 このソリューションはサブディレクトリを考慮していないことに注意してください。ベースパス内のすべてのサブディレクトリに再帰的にアクセスできるように変更します。

于 2012-11-20T09:26:58.337 に答える