码迷,mamicode.com
首页 > 数据库 > 详细

SparkR针对mysql的数据读写操作实现

时间:2018-06-28 15:21:54      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:.data   text   文章   contex   temp   war   IV   serve   jdbc   

网上翻了两天没找到一份有用的文章,自己研究SparkR的官方api文档,总算找到了实现的接口

我是用R语言加载SparkR库的方式,当然也可以直接用SparkR控制台就不用自己加载SparkR的库了

 

#首先加载sparkR的库

Sys.setenv(TEST_HOME = "/root/software/spark-1.6.0-bin-hadoop2.6")

library(SparkR, lib.loc = c(file.path(Sys.getenv("TEST_HOME"), "R", "lib")))

 

#初始化sqlContext

sc <- sparkR.init(master = "local[*]", sparkEnvir = list(spark.driver.memory="2g"))

sqlContext <- sparkRSQL.init(sc)

 

#mysql数据库加载表数据,url、用户名和密码修改为自己的

df <- loadDF(sqlContext, source="jdbc", url="jdbc:mysql://192.168.11.8:3306/testdb?characterEncoding=UTF-8", dbtable="testdb.forecast",user="root",password="***")

 

//把df注册为临时表tbl

registerTempTable(df,"tbl")

 

#创建一条数据记录

#df转换为R的data.frame

df2=as.data.frame(df)

 

#修改下数据内容

df2[1,]=c(‘2002-02-02‘,6)

 

#把R的data.frame数据转换为spark的DataFrame

df3=as.DataFrame(sqlContext,df2)

 

//数据记录df3插入mysql数据表,overwrite=TRUE时删除数据表全部数据,写入新数据,=FALSE时把数据记录追加入数据表,保留原表数据

insertInto(df3,"tbl",overwrite=TRUE)

 

大功告成,去sql server查询一下,数据已经添加成功了

SparkR针对mysql的数据读写操作实现

标签:.data   text   文章   contex   temp   war   IV   serve   jdbc   

原文地址:https://www.cnblogs.com/greatOldCoder/p/9238638.html

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