繁体   English   中英

如何从R中的流mapreduce作业中获取文件名?

[英]How can to get the filename from a streaming mapreduce job in R?

我正在流式传输R mapreduce作业,我需要获取文件名。 我知道Hadoop在启动之前为当前作业设置环境变量,我可以使用Sys.getenv()访问R中的env变量。

我发现: 在流式传输hadoop程序中获取输入文件名

和Sys.getenv(mapred_job_id)工作正常,但它不是我需要的。 我只需要文件名而不是作业ID或名称。 我还发现: 如何在EC2上运行mapreduce作业时获取文件名?

但这也没有用。 从R流式传输时获取当前文件名的最简单方法是什么? 谢谢

我没有尝试过这个,但是从你提供的第二个链接看来,这似乎在一个名为map.input.file的环境变量中map.input.file 然后,这应该工作:

Sys.getenv("map.input.file")

编辑:经过进一步调查,我了解到你需要用下划线替换点,所以这是这样做的方法:

Sys.getenv("map_input_file")

但是, map.input.file属性已在YARN (Hadoop 2.x)中弃用 ,因此应使用新名称:

Sys.getenv("mapreduce_map_input_file")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM