Java 从hadoop中的作业配置获取输入路径
我正在设置一个路径作为conf的输入位置Java 从hadoop中的作业配置获取输入路径,java,hadoop,hdfs,Java,Hadoop,Hdfs,我正在设置一个路径作为conf的输入位置 FileInputFormat.setInputPaths(conf, new Path("path/to/folder")); 当我试图实现自己的RecordReader时,如何从conf中检索这个位置 提前感谢…此调用设置的属性是map.input.dir,因此这应该适用于您: conf.get("map.input.dir"); 另一方面,您的记录阅读器应该根据initialize(InputSplit,TaskAttemptContext)方
FileInputFormat.setInputPaths(conf, new Path("path/to/folder"));
当我试图实现自己的RecordReader时,如何从conf中检索这个位置
提前感谢…此调用设置的属性是
map.input.dir
,因此这应该适用于您:
conf.get("map.input.dir");
另一方面,您的记录阅读器应该根据initialize(InputSplit,TaskAttemptContext)
方法中给出的输入拆分操作,因为您在setInputPath中传递的文件夹实际上将解析为多个输入拆分,通常文件夹中的每个文件都有一个输入拆分(对于较大的可拆分文件,可能有多个输入拆分)
基于
FileInputFormat
的输入格式将FileSplit
传递给initialize方法,您应该能够从FileSplit.getPath()
方法中提取要处理的实际文件。此调用设置的属性是map.input.dir
,因此这对您来说应该是可行的:
conf.get("map.input.dir");
另一方面,您的记录阅读器应该根据initialize(InputSplit,TaskAttemptContext)
方法中给出的输入拆分操作,因为您在setInputPath中传递的文件夹实际上将解析为多个输入拆分,通常文件夹中的每个文件都有一个输入拆分(对于较大的可拆分文件,可能有多个输入拆分)
基于
FileInputFormat
的输入格式将FileSplit
传递给initialize方法,您应该能够从FileSplit.getPath()
方法中提取要处理的实际文件。要通过@ChrisWhite增加答案,它也可以位于hashkey“mapred.input.dir”下。若要通过@ChrisWhite增加答案,它也可以位于hashkey“mapred.input.dir”下。