0

在 Hadoop 中,我传递了一个包含各种文件的目录/*。文件的名称对于数据处理很重要。我在 Perl 中需要这个解决方案。

我相信 Java 等价物是 job.get("map.input.file")。我找了大约 45 分钟,但找不到 Perl 解决方案。

谢谢你,凯文

4

2 回答 2

1

所有作业配置变量都被序列化到流程环境,使用StreamUtils.safeEnvVarName方法中的一些代码将属性名称设为“安全”。

基本上,此方法会将属性名称中的任何非 [0-9A-Za-z] 字符替换为下划线,因此map.input.file应该可用作名为的环境变量map_input_file

于 2012-10-16T23:45:54.577 回答
0

用代码总结 Chris 很好地解释的内容,您需要以下两行来获取输入文件名并将其打印到 stderr:

my $filename = $ENV{"map_input_file"};
print STDERR "Input filename is: $filename\n";
于 2014-09-12T09:01:34.280 回答