我流一个r mapreduce作业,我需要得到文件名。我知道hadoop在当前作业开始之前为其设置环境变量,我可以使用sys.getenv()访问r中的env vars。
我发现:在流式hadoop程序中获取输入文件名
和sys.getenv(mapred\u job\u id)工作正常,但这不是我需要的。我只需要文件名,而不是作业id或名称。我还发现:在ec2上运行mapreduce作业时如何获取文件名?
但这也没用。从r流式传输时,获取当前文件名的最简单方法是什么?谢谢您
我流一个r mapreduce作业,我需要得到文件名。我知道hadoop在当前作业开始之前为其设置环境变量,我可以使用sys.getenv()访问r中的env vars。
我发现:在流式hadoop程序中获取输入文件名
和sys.getenv(mapred\u job\u id)工作正常,但这不是我需要的。我只需要文件名,而不是作业id或名称。我还发现:在ec2上运行mapreduce作业时如何获取文件名?
但这也没用。从r流式传输时,获取当前文件名的最简单方法是什么?谢谢您
1条答案
按热度按时间6mzjoqzu1#
我没有尝试过这个,但是从您提供的第二个链接来看,这似乎在一个名为
map.input.file
. 那么,这应该是可行的:编辑:经过进一步的调查,我了解到你需要用下划线替换点,所以这是一种方法:
但是,在yarn(hadoop 2.x)中,map.input.file属性已被弃用,因此应改用新名称: