CDH的很少看到有资料介绍,看到官方文档明确不支持sparkR。
然后在看到Rhadoop的一些博客,舍弃CDH自带的spark stack,使用Apache上最新的spark1.5.2,直接下载放在节点上,采用spark on yarn的方式调用hadoop资源。
需要做的只是把hadoop,hive的配置拷贝到spark的conf下。免去安装spark集群的工作。
################
RStudio 在linux上安装以后,如何调用sparkR?找了很久,没什么资料,看到一个AWS上的帖子,顿然开朗。
http://www.tuicool.com/articles/Br67rmJ
看到关键的一段。
################
以下是RStudio中执行。
###############
print('Now connecting to Spark for you.')
#加载包library("rJava")
library("rhdfs")
library("SparkR")
#环境变量
.libPaths(c(.libPaths(), '/opt/hadoop/spark-latest/R/lib'))
Sys.setenv(SPARK_HOME = '/opt/hadoop/spark-latest')
Sys.setenv(PATH = paste(Sys.getenv(c('PATH')), '/opt/hadoop/spark-latest/bin', sep=':'))
Sys.setenv(HADOOP_CMD="/opt/cloudera/parcels/CDH/bin/hadoop")
Sys.setenv(HADOOP_HOME="/opt/cloudera/parcels/CDH/lib/hadoop")
Sys.setenv(HADOOP_CONF_DIR="/etc/hadoop/conf")
Sys.setenv(HIVE_HOME="/opt/cloudera/parcels/CDH/lib/hive")
Sys.setenv(SCALA_HOME="/opt/hadoop/scala-latest")
#初始化
sc <- sparkR.init("yarn-client", "SparkR", "/opt/hadoop/spark-latest",list(spark.executor.memory="1g"))
sqlContext <- sparkRSQL.init(sc)
print('Spark Context available as \"sc\". \\n')
print('Spark SQL Context available as \"sqlContext\". \\n')
################################################
#测试读取hive表格
hiveContext <- sparkRHive.init(sc)
results <- sql(hiveContext, "select countrycode,year,growtheingini,privcreavg from external_bz2_tbl_6005 limit 10")
head(results)
################################################