Mapreduce 是";将to.dfs参数转换为带有空键的keyval;对于RHadoop失败的映射任务,通常会发出致命警告?

Mapreduce 是";将to.dfs参数转换为带有空键的keyval;对于RHadoop失败的映射任务,通常会发出致命警告?,mapreduce,rhadoop,Mapreduce,Rhadoop,我编写了几个RHadoop程序,即使它们返回警告,也能正常工作,例如: Converting to.dfs argument to keyval with a NULL key 使用to.dfs输入数据时 但是,有些程序会致命地失败,除此之外没有任何警告 Converting to.dfs argument to keyval with a NULL key 接 ERROR streaming.StreamJob: Job not successful. Error: # of failed

我编写了几个RHadoop程序,即使它们返回警告,也能正常工作,例如:

Converting to.dfs argument to keyval with a NULL key
使用to.dfs输入数据时

但是,有些程序会致命地失败,除此之外没有任何警告

Converting to.dfs argument to keyval with a NULL key

ERROR streaming.StreamJob: Job not successful. Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1.
空键警告通常与失败的映射任务关联吗

我知道标准建议是查看stderr,但是失败作业的stderr是空的!零行零字符。

据我所知

使用空键将to.dfs参数转换为keyval

这是一个常见的警告,它不会使工作失败


是否尝试使用from.dfs命令提取使用to.dfs命令存储的数据,以查看其是否有效?如果是这样的话,问题可能出在eslewhere。

我认为这是流媒体的问题,我在我的R终端中使用了这一行,当这个问题出现时,它可能会帮助您 Sys.setenv(HADOOP_HOME='/usr/lib/HADOOP-0.20-mapreduce') Sys.setenv(HADOOP_CMD='/usr/bin/HADOOP') Sys.setenv(HADOOP_STREAMING='/usr/lib/HADOOP-0.20-mapreduce/contrib/STREAMING/HADOOP-STREAMING-2.0.0-mr1-cdh4.1.1.jar')


流可能因您的jar文件而异。例如/usr/lib/hadoop/contrib/streaming/hadoop-streaming-1.0.2.jar是我的jar…您可以通过路径进行检查。

是的,即使对于正常工作的作业,我也会收到空警告。但是我有很多工作失败了,所以我想知道空值是否与此有关。谢谢。最近我一直在使用:
HADOOP\u CMD=/home/user/HADOOP-1.2.1/bin/HADOOP-HADOOP\u STREAMING=/home/user/HADOOP-1.2.1/contrib/STREAMING/HADOOP-STREAMING-1.2.1.jar
感谢您提到HADOOP\u-home变量。