2013-02-07 219 views
0

,我想實現我自己的RecordReader獲取輸入路徑在Hadoop中

我設置的路徑作爲輸入位置的conf

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

我怎樣才能檢索到該位置回從CONF在此先感謝...

回答

3

此調用設置的屬性是map.input.dir,所以這應該爲你工作:

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

在附註中,您的記錄閱讀器應該按照initialize(InputSplit, TaskAttemptContext)方法給出的輸入拆分進行操作,因爲您在setInputPath中傳遞的文件夾實際上會解析爲多個輸入拆分,通常爲文件夾中的每個文件分配一個(以及可能的多個輸入拆分,用於較大的可拆分文件)。

FileInputFormat基於輸入格式將FileSplit傳遞給初始化方法,您應該能夠從FileSplit.getPath()方法中提取出要處理的實際文件。

+0

要增加@ChrisWhite的答案,它也可以在hashkey「mapred.input.dir」下面。 –