gpt4 book ai didi

java - Rhadoop 单机基本任务

转载 作者:可可西里 更新时间:2023-11-01 14:41:00 26 4
gpt4 key购买 nike

我在 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

有人知道问题出在哪里吗?非常感谢。

最佳答案

要解决此问题,您必须设置 HADOOP_STREAMING 环境变量。下面的代码对我来说很好用。请注意,您的代码未使用 Rhipe,因此无需加载。

R 代码(我使用的是 hadoop 2.4.0)

Sys.setenv("HADOOP_CMD"="/usr/local/hadoop/bin/hadoop")
Sys.setenv("HADOOP_STREAMING"="/usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.4.0.jar")

library(rhdfs)
# Initialise
hdfs.init()
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)))
})})

我猜你的 hadoop 流路径如下:

Sys.setenv("HADOOP_STREAMING"="/home/ashkan/Downloads/hadoop-1.0.3/contrib/streaming/hadoop-streaming-1.0.3.jar")

希望这对您有所帮助。

关于java - Rhadoop 单机基本任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com