码迷,mamicode.com
首页 > 其他好文 > 详细

基于spark1.4.1的sparkR的实例操作

时间:2015-08-30 15:54:11      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

[Author]: kwu 

基于spark1.4.1的sparkR的实例操作,sparkR的操作基本语法与R一致,其中添加了rJava、rhdfs、SparkR的依赖库的支持。


1、集群启动SparkR

输入 bdcmagicR

关于启动脚本的封装参看 : http://blog.csdn.net/bdchome/article/details/48092499

技术分享


2、加载依赖库

library("rJava")
library("rhdfs")
library("SparkR")
按顺序依次加载
技术分享


3、sparkR操作实例

1) 基础的R

x <- 0
for(i in 1:100){
 x <- x+i
}
x

技术分享


2、sparkR操作hdfs上的文件

上传文件,并查看

hdfs.init()
hdfs.put("/opt/bin/jar/people.json","hdfs://nameservice1/tmp/resources/people2.json")
hdfs.cat("hdfs://nameservice1/tmp/resources/people.json")


技术分享

sparkR操作该文件,找出年龄大于30的人

sqlContext <- sparkRSQL.init(sc)
path <- file.path("hdfs://nameservice1/tmp/resources/people2.json")
peopleDF <- jsonFile(sqlContext, path)
printSchema(peopleDF)
registerTempTable(peopleDF, "people")
teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age > 30")
teenagersLocalDF <- collect(teenagers)
print(teenagersLocalDF)

sparkR.stop()
返回结果:
技术分享

最后需要关闭 sparkR.stop()


3、通过sparkR操作spark-sql以hive的表为对象

hqlContext <- sparkRHive.init(sc)
showDF(sql(hqlContext, "show databases"))
showDF(sql(hqlContext, "select * from ods.tracklog where day='20150815' limit 15"))
result <- sql(hqlContext, "select count(*) from ods.tracklog where day='20150815' limit 15")
resultDF  <- collect(result)
print(resultDF)
sparkR.stop()

返回结果:show databases;

技术分享

查询返回结果:select * from ods.tracklog where day=‘20150815‘ limit 15

技术分享

做为变量的返回:

技术分享

最后需要关闭 sparkR.stop()

技术分享


总结: sparkR可以完成R基础的操作,以hdfs上的操作,spark-sql的查询等。

以上实例,均在spark1.4.1上的sparkR测试通过,转载请注明出处, 和讯大数据.

版权声明:本文为博主原创文章,未经博主允许不得转载。

基于spark1.4.1的sparkR的实例操作

标签:

原文地址:http://blog.csdn.net/bdchome/article/details/48104537

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!