[問題] rmr2 map functon

看板R_Language作者 (M)時間10年前 (2014/10/20 19:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
[問題類型]:程式諮詢 [軟體熟悉度]:入門 [問題敘述]: 想使用rmr2的mapreduce function 把兩個column的值加起來,並且將key值放入指定的向量 目前情形如以下 : Sys.setenv(...) library(rhdfs) hdfs.init() library(rmr2) qq=cbind(round(rnorm(10,0,1),3),round(rnorm(10,0,1),3)) #generate data mapfunction=function(.,data) { return( keyval( rep(1:5,each=2) , apply(data,1,sum) ) ) } from.dfs( mapreduce( input=to.dfs(qq) , map=mapfunction ) ) 結果會如: http://ppt.cc/zgk5 (希望的結果) 但若將資料轉成csv file 再put上hdfs之後 資料形式: http://ppt.cc/HF5m from.dfs( mapreduce( input="/qq.csv" , input.format=make.inpt.format("csv",sep=",") , map=mapfunction )) 結果會變成: http://ppt.cc/vr4i 也試過將mapfunction改成以下形式 : mapfunction=function(.,data) { kk=rep(1:5,each=2) vv=apply(data,1,sum) return( keyval( kk , vv ) ) } 但都沒辦法像直接to.dfs一樣得到想要的結果, 是因為讀raw file與to.dfs讀取的方式不太一樣嗎? 先謝謝各位指教!! [關鍵字]:rmr2,mapreduce -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 113.28.26.107 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1413805538.A.F6B.html
文章代碼(AID): #1KHFNYzh (R_Language)
文章代碼(AID): #1KHFNYzh (R_Language)