【发布时间】:2020-04-14 10:34:08
【问题描述】:
我是大数据和 hadoop 方面的新手。我尝试使用 mapreduce 找到中位数。据我所知,mapper 将数据传递给 1 个 reducer,然后 1 个 reducer 排序并使用 median() 函数找到中间值。
R 在内存中运行,如果数据太大而无法存储在 1 台计算机上运行的 1 个 reducer 中怎么办?
这是我用 RHadoop 查找中位数的代码示例。
map <- function(k,v) {
key <- "median"
keyval(key, v)
}
reduce <- function(k,v) {
keyval(k, median(v))
}
medianMR <- mapreduce (
input= random, output="/tmp/ex3",
map = map, reduce = reduce
)
【问题讨论】:
标签: r hadoop mapreduce rhadoop