r - rmr2 mapreduce始终为$ key和$ val生成NULL

标签 r hadoop cloudera

我按照JeremyChandra在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/

相关文章:

hadoop - Flume 不存储数据到 hbase

hadoop - hql查询报错

r - r 中的嵌套 dplyr 循环

java - 分析日志分类并存储在 Elasticsearch 索引中

r - 如何在 Shiny 的 react 表达式中使用以前的 react 值?

sql - 如何从 Hive 中的 json 字符串中提取选定的值

python - Pyspark:洗牌 RDD

date - hive 失败,发生异常java.io.IOException:java.lang.ClassCastException:无法将java.sql.Timestamp强制转换为java.sql.Date

r - Dplyr ~ 选择一些东西,除了

R:将增量编号分配给包含相同标签的行