SparkR的安装和配置
1 集成在CLOUDERA MANAGER里
由于cdh集成的spark2不支持sparkR所以要手动将sparkR的相关内容放入spark2的目录下
1 下载已经编译过的spark2包
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz
2 安装sparkR
解压后找到spark-2.1.0-bin-hadoop2.6/R/lib/sparkr.zip
将它传到10.118.220.186 187 188 189 4台机器$SPARK_HOME/R/lib/sparkr.zip
并且解压生成SparkR目录
3 安装R
在10.118.220.186 187 188 189 4台机器上安装R
然后把SparkR目录复制到每台机器的/usr/local/lib64/R/library目录下
4 配置sparkR
spark-defaults.conf文件里加
spark.yarn.dist.archives=/appslog/packs/cloudera/parcels/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904/lib/spark2/sparkr.zip#sparkr
spark-env.sh文件里加
export SPARK_DIST_CLASSPATH=$(hadoopclasspath)
SparkR的例子
Wordcount
R里面执行
if(nchar(Sys.getenv("SPARK_HOME")) < 1) {
Sys.setenv(SPARK_HOME ="/appslog/packs/cloudera/parcels/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904/lib/spark2")
}
library(SparkR)
sc <-sparkR.session(master="yarn-client")
lines <-read.text("hdfs://10.118.220.186:8020/tmp/sparkR_test.txt")
createOrReplaceTempView(lines,"lines")
resault <- sql("SELECTvalue,count(1) FROM lines group by value")
head(resault)