Apache Spark技術實戰之5 -- SparkR的安裝及使用


歡迎轉載,轉載請注明出處,徽滬一郎。

概要

根據論壇上的信息,在Sparkrelease計划中,在Spark 1.3中有將SparkR納入到發行版的可能。本文就提前展示一下如何安裝及使用SparkR.

SparkR的出現解決了R語言中無法級聯擴展的難題,同時也極大的豐富了Spark在機器學習方面能夠使用的Lib庫。SparkR和Spark MLLIB將共同構建出Spark在機器學習方面的優勢地位。

使用SparkR能讓用戶同時使用Spark RDD提供的豐富Api,也可以調用R語言中豐富的Lib庫。

安裝SparkR

先決條件

  1. 已經安裝好openjdk 7
  2. 安裝好了R

安裝步驟:

步驟1: 運行R Shell

bash# R

步驟2:在R shell中安裝rJava

install.packages("rJava")

步驟3: 在R shell中安裝devtools

install.packages("devtools")

步驟4: 安裝好rJava及devtools,接下來安裝SparkR

library(devtools)
install_github("amplab-extras/SparkR-pkg", subdir="pkg")

使用SparkR來運行wordcount

安裝完SparkR之后,可以用wordcount來檢驗安裝正確與否。

步驟1:在R shell中加載SparkR

library(SparkR)

步驟2:初始化SparkContext及執行wordcount

sc <- sparkR.init(master="local", "RwordCount")
lines <- textFile(sc, "README.md")
words <- flatMap(lines,
	function(line) {
		strsplit(line, " ")[[1]]
	})
wordCount <- lapply(words, function(word) { list(word, 1L) })

counts <- reduceByKey(wordCount, "+", 2L)
output <- collect(counts)
for (wordcount in output) {
	cat(wordcount[[1]], ": ", wordcount[[2]], "\n")
}

如果想將SparkR運行於集群環境中,只需要將master=local,換成spark集群的監聽地址即可

小結

時間匆忙,還有兩件事情沒有來得及細細分析。

  1. SparkR的代碼實現
  2. 如果很好的將R中支持的數據挖掘算法與Spark並行化處理能力很好的結合

參考資料

  1. https://github.com/amplab-extras/SparkR-pkg

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM