1 回答

TA貢獻1797條經(jīng)驗 獲得超4個贊
Spark提供了輕量的前端。SparkR提供了Spark中彈性分布式數(shù)據(jù)集(RDD)的API,用戶可以在集群上通過R
shell交互性的運行job。例如,我們可以在HDFS上讀取或?qū)懭胛募?,也可以使?lapply 來定義對應每一個RDD元素的運算。
sc <- sparkR.init(“l(fā)ocal”)
lines <- textFile(sc, “hdfs://data.txt”)
wordsPerLine <- lapply(lines, function(line) { length(unlist(strsplit(line, “ ”))) })
除了常見的RDD函數(shù)式算子reduce、reduceByKey、groupByKey和collect之外,SparkR也支持利用
lapplyWithPartition 對每個RDD的分區(qū)進行操作。
SparkR也支持常見的閉包(closure)功能:用戶定義的函數(shù)中所引用到的變量會自動被發(fā)送到集群中其他的機器上。參見一下例子中用戶閉包中引用的
initialWeights 會被自動發(fā)送到集群其他機器上。
lines <- textFile(sc, “hdfs://data.txt”)
#niniaialWeights is automatically serialized
createMatrix <- function(line) {
as.numeric(unlist(strsplit(line, “ ”))) %*% t(initialWeights)
}
- 1 回答
- 0 關注
- 887 瀏覽
添加回答
舉報