0

conf への入力場所としてパスを設定しています

FileInputFormat.setInputPaths(conf, new Path("path/to/folder"));

独自の RecordReader を実装しようとしているときに、conf からこの場所を取得するにはどうすればよいですか

前もって感謝します...

4

1 に答える 1

3

この呼び出しによって設定されるプロパティはmap.input.dirであるため、これでうまくいくはずです。

conf.get("map.input.dir");

補足として、レコード リーダーは、initialize(InputSplit, TaskAttemptContext)メソッドで指定された入力分割に基づいて動作する必要があります。setInputPath で渡すフォルダーは、実際にはいくつかの入力分割に解決されるため、通常はフォルダー内のファイルごとに 1 つ (複数の場合もある)より大きな分割可能なファイルの入力分割)。

FileInputFormatベースの入力形式はFileSplit初期化メソッドに渡され、メソッドから処理する実際のファイルを引き出すことができるはずですFileSplit.getPath()

于 2013-02-08T00:19:28.233 に答える