Tôi mới biết đến RHadoop và cả RMR ... Tôi có một yêu cầu để viết một Công việc Mapreduce trong R Mapreduce. Tôi đã thử viết nhưng trong khi thực hiện việc này, nó báo lỗi. Tring để đọc các tập tin từ hdfs
Lỗi:
Error in mr(map = map, reduce = reduce, combine = combine, vectorized.reduce, :
hadoop streaming failed with error code 1
Mã số:
Sys.setenv(HADOOP_HOME="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/lib/hadoop")
Sys.setenv(HADOOP_CMD="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/bin/hadoop")
Sys.setenv(HADOOP_STREAMING="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.0.0-mr1-cdh4.7.0.jar")
library(rmr2)
library(rhdfs)
hdfs.init()
day_file = hdfs.file("/hdfs/bikes_LR/day.csv","r")
day_read = hdfs.read(day_file)
c = rawToChar(day_read)
XtX =
values(from.dfs(
mapreduce(
input = "/hdfs/bikes_LR/day.csv",
map=
function(.,Xi){
yi =c[Xi[,1],]
Xi = Xi[,-1]
keyval(1,list(t(Xi)%*%Xi))
},
reduce = function(k,v )
{
vals =as.numeric(v)
keyval(k,sum(vals))
} ,
combine = TRUE)))[[1]]
XtY =
values(from.dfs(
mapreduce(
input = "/hdfs/bikes_LR/day.csv",
map=
function(.,Xi){
yi =c[Xi[,1],]
Xi = Xi[,-1]
keyval(1,list(t(Xi)%*%yi))
},
reduce = TRUE ,
combine = TRUE)))[[1]]
solve(XtX,XtY)
Input:
------------
instant,dteday,season,yr,mnth,holiday,weekday,workingday,weathersit,temp,atemp,hum,windspeed,casual,registered,cnt
1,2011-01-01,1,0,1,0,6,0,2,0.344167,0.363625,0.805833,0.160446,331,654,985
2,2011-01-02,1,0,1,0,0,0,2,0.363478,0.353739,0.696087,0.248539,131,670,801
3,2011-01-03,1,0,1,0,1,1,1,0.196364,0.189405,0.437273,0.248309,120,1229,1349
4,2011-01-04,1,0,1,0,2,1,1,0.2,0.212122,0.590435,0.160296,108,1454,1562
5,2011-01-05,1,0,1,0,3,1,1,0.226957,0.22927,0.436957,0.1869,82,1518,1600
6,2011-01-06,1,0,1,0,4,1,1,0.204348,0.233209,0.518261,0.0895652,88,1518,1606
7,2011-01-07,1,0,1,0,5,1,2,0.196522,0.208839,0.498696,0.168726,148,1362,1510
8,2011-01-08,1,0,1,0,6,0,2,0.165,0.162254,0.535833,0.266804,68,891,959
9,2011-01-09,1,0,1,0,0,0,1,0.138333,0.116175,0.434167,0.36195,54,768,822
10,2011-01-10,1,0,1,0,1,1,1,0.150833,0.150888,0.482917,0.223267,41,1280,1321
Please Suggest me any mistakes.
1
Bạn cần tìm đầu ra nhật ký từ tập lệnh R của bạn, điều này sẽ chỉ ra lỗi. "Hadoop streaming không thành công với mã lỗi 1" chỉ có nghĩa là "kịch bản không thành công vì một số lý do"
—
Sean Owen
Đôi khi thư mục nơi bạn viết phải bị xóa trước khi viết (nếu nó tồn tại). Kiểm tra xem.
—
adesantos
cảm ơn vì câu trả lời của bạn ... nhưng tôi đã kiểm tra tất cả các possibilites mà bạn đã đề cập ... tôi nghi ngờ rằng có một số vấn đề với chính mã ... ai đó có thể vui lòng khắc phục ...
—
user3782364
Đây có phải là cụm máy đơn không? Bạn có thể cung cấp nhật ký stderr?
—
Hack-R