Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Hadoop/Dumbo/Mrjob中,是否有方法确定传递给映射作业的文件名?_Python_Hadoop_Mrjob - Fatal编程技术网

Python 在Hadoop/Dumbo/Mrjob中,是否有方法确定传递给映射作业的文件名?

Python 在Hadoop/Dumbo/Mrjob中,是否有方法确定传递给映射作业的文件名?,python,hadoop,mrjob,Python,Hadoop,Mrjob,全部, 我正致力于创建一个界面,用于处理一些海量数据,并生成arff文件,用于进行机器学习。我目前可以收集这些功能,但我无法将它们与它们派生的文件相关联。我目前正在使用Dumbo def mapper(key, value): #do stuff to generate features 是否有任何方便的方法来确定已打开并将其内容传递给mapper函数的文件名 再次感谢。 -Sam如果您能够访问作业配置属性,则mapreduce.job.input.file属性应包含当前文件的文件名

全部,

我正致力于创建一个界面,用于处理一些海量数据,并生成arff文件,用于进行机器学习。我目前可以收集这些功能,但我无法将它们与它们派生的文件相关联。我目前正在使用Dumbo

def mapper(key, value):
    #do stuff to generate features
是否有任何方便的方法来确定已打开并将其内容传递给mapper函数的文件名

再次感谢。
-Sam

如果您能够访问作业配置属性,则
mapreduce.job.input.file
属性应包含当前文件的文件名

但是我不确定您是如何在Dumbo/Mrjob中获得这些属性的-文档指定句点(在conf名称中)替换为下划线,然后查看PipeMapRed.java的源代码,看起来所有单作业配置属性都设置为环境变量-因此请尝试访问名为
mapreduce\u job\u input\u file的环境变量

如前所述,您可以使用-addpath yes选项

-addpath yes(用一个元组替换每个输入键,元组由相应输入文件的路径和原始键组成)