我按照Jeremy和Chandra在Cloudera Quickstart 5.7.0中将rmr2安装在R中。我按照[Chandra]尝试了一个简单的mapreduce程序:
small.ints <- to.dfs(1:1000)
out <- mapreduce(input = small.ints, map = function(k, v) keyval(v, v^2))
df <- as.data.frame(from.dfs(out))
df的输出是:
data frame with 0 columns and 0 rows
from.dfs(out)显示:
$key
NULL
$val
NULL
尽管Mapreduce在生成的/ tmp目录中显示_SUCCESS,但[Jeremy]和[Chandra]的其他示例也产生了相同的输出。有什么建议么?
to.dfs和from.dfs似乎运行良好。我试过了:
small.ints <- to.dfs(1:1000)
out <- from.dfs(small.ints)
out
这将产生1到1000之间的数字。
最佳答案
我现在想通了。我从RStudio内安装了rmr2,尽管mapreduce函数似乎成功运行,但该脚本无法以某种方式使用该库。我很惊讶在其中一个日志中看到找不到rmr2,但是脚本仍然给了我_SUCCESS!
我最终在R(使用sudo R)中重新安装了rmr2,并带有必需的软件包,reshape2和caTools,现在一切似乎都可以正常工作。
关于r - rmr2 mapreduce始终为$ key和$ val生成NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38810144/