conf への入力場所としてパスを設定しています
FileInputFormat.setInputPaths(conf, new Path("path/to/folder"));
独自の RecordReader を実装しようとしているときに、conf からこの場所を取得するにはどうすればよいですか
前もって感謝します...
この呼び出しによって設定されるプロパティはmap.input.dir
であるため、これでうまくいくはずです。
conf.get("map.input.dir");
補足として、レコード リーダーは、initialize(InputSplit, TaskAttemptContext)
メソッドで指定された入力分割に基づいて動作する必要があります。setInputPath で渡すフォルダーは、実際にはいくつかの入力分割に解決されるため、通常はフォルダー内のファイルごとに 1 つ (複数の場合もある)より大きな分割可能なファイルの入力分割)。
FileInputFormat
ベースの入力形式はFileSplit
初期化メソッドに渡され、メソッドから処理する実際のファイルを引き出すことができるはずですFileSplit.getPath()
。