我在rhadoop中运行以下代码:
Sys.setenv(HADOOP_HOME="/home/ashkan/Downloads/hadoop-1.0.3/")
Sys.setenv(HADOOP_BIN="/home/ashkan/Downloads/hadoop-1.0.3/bin/")
Sys.setenv(HADOOP_CONF_DIR="/home/ashkan/Downloads/hadoop-1.0.3/conf")
Sys.setenv(HADOOP_CMD="/home/ashkan/Downloads/hadoop-1.0.3/bin/hadoop")
library (Rhipe)
library(rhdfs)
library(rmr2)
hdfs.init()
small.ints = to.dfs(1:10)
mapreduce(
input = small.ints,
map = function(k, v)
{
lapply(seq_along(v), function(r){
x <- runif(v[[r]])
keyval(r,c(max(x),min(x)))
})})
但是,我得到以下错误:
Error in mr(map = map, reduce = reduce, combine = combine, vectorized.reduce, :
hadoop streaming failed with error code 1
有人知道问题出在哪里吗?谢谢。
1条答案
按热度按时间ryoqjall1#
要解决这个问题,你必须设置
HADOOP_STREAMING
环境变量。下面的代码对我很有用。请注意,您的代码没有使用Rhipe
所以不需要加载。r代码(我使用的是Hadoop2.4.0)
我猜您的hadoop流媒体路径如下:
希望这有帮助。