在hadoop中,我传入一个目录/*和各种文件。文件名对于数据处理非常重要。我需要这个perl版本的解决方案。我相信java的等价物是job.get(“map.input.file”)。我找了大约45分钟,找不到perl解决方案。谢谢你,凯文
qfe3c7zg1#
所有作业配置变量都被序列化到流程环境中,并使用 StreamUtils.safeEnvVarName 方法。基本上,此方法将用下划线替换属性名称中的任何非[0-9a-za-z]字符,因此 map.input.file 应作为名为 map_input_file
StreamUtils.safeEnvVarName
map.input.file
map_input_file
jv2fixgn2#
为了用chris很好地解释的代码进行总结,您需要以下两行代码来获取输入文件名并将其打印到stderr:
my $filename = $ENV{"map_input_file"}; print STDERR "Input filename is: $filename\n";
2条答案
按热度按时间qfe3c7zg1#
所有作业配置变量都被序列化到流程环境中,并使用
StreamUtils.safeEnvVarName
方法。基本上,此方法将用下划线替换属性名称中的任何非[0-9a-za-z]字符,因此
map.input.file
应作为名为map_input_file
jv2fixgn2#
为了用chris很好地解释的代码进行总结,您需要以下两行代码来获取输入文件名并将其打印到stderr: