RHadoop 例子WordCount测试

来源:互联网 发布:淘宝改差评技巧 编辑:程序博客网 时间:2024/05/20 19:46

安装完RHadoop,当然要进行一下例子测试,看了网上相关的关于wordcount的例子,还是有不少,有些还比较模糊,于是就把自己下载的代码与编译结果记录一下:


欢迎交流学习:sparkexpert@sina.com


library(rmr2)
library(rhdfs)
hdfs.init()


rmr.options(backend = "local")


# Word count --------------------------------------------------------------


ebookLocation <- "/home/ndscbigdata/wofile.txt"


m <- mapreduce(input = ebookLocation,
               input.format  =  "text",
               
               map = function(k, v){
                 words <- unlist(strsplit(v, split = "[[:space:][:punct:]]"))
                 words <- tolower(words)
                 words <- gsub("[0-9]", "", words)
                 words <- words[words != ""]
                 wordcount <- table(words)
                 keyval(
                   key = names(wordcount),
                   val = as.numeric(wordcount)
                 )
               },
               
               reduce = function(k, counts){
                 keyval(key = k,
                        val = sum(counts))
               }
)




# Retrieve results and prepare to plot ------------------------------------




x <- from.dfs(m)
dat <- data.frame(
  word  = keys(x),
  count = values(x)
)
dat <- dat[order(dat$count, decreasing=TRUE), ]
head(dat, 50)
with(head(dat, 25), plot(count, names = word))


其结果呈现在RStudio示例如下:


0 0
原创粉丝点击