首页 > [原创]SparkR针对mysql的数据读写操作实现

[原创]SparkR针对mysql的数据读写操作实现

网上翻了两天没找到一份有用的文章,自己研究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查询一下,数据已经添加成功了

转载于:https://www.cnblogs.com/greatOldCoder/p/9238638.html

更多相关:

  • 本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:【公众号dotNet工控上位机:thinger_swj】基于Socket访问西门子PLC系列教程(一)在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信。上位机UI界面设计如下图所示:从上图可以看出...

  • 我有一个大型数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过使用这些新数据帧名称中的列值的迭代过程,根据区域将该数据帧分成几个其他区域,以便我可以分别处理每个数据帧-例如根据价格对每个地区的信息进行排序,以了解每个地区的市场情况。我给出了以下数据的简化版本:Competitor Region ProductA Product...

  • 作为一名IT从业者,我来回答一下这个问题。首先,对于具有Java编程基础的人来说,学习Python的初期并不会遇到太大的障碍,但是要结合自己的发展规划来制定学习规划,尤其要重视学习方向的选择。Java与Python都是比较典型的全场景编程语言,相比于Java语言来说,当前Python语言在大数据、人工智能领域的应用更为广泛一些,而且大...

  • 这段时间通过学习相关的知识,最大的变化就是看待事物更加喜欢去了解事物后面的本质,碰到问题后解决问题思路也发生了改变。举个具体的例子,我在学习数据分析,将来会考虑从事这方面的工作,需要掌握的相关专业知识这个问题暂且按下不表,那哪些具体的问题是我需要了解的呢,以下简单罗列:1、了解数据分析师这个岗位在各个地区的需求情况?2、数据分析师的薪...

  • 这一节将开始学习python的一个核心数据分析支持库---pandas,它是python数据分析实践与实战的必备高级工具。对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。今天,我们就来认识认识数据分析界鼎鼎大名的 pandas。目录一. pandas主要数据结构 SeriesDataFrame二...

  • 这学期选了数据挖掘课,前两节课刚好都没有去上课。照着教程练习一下课程内容...prepare下载软件weka,根据系统选择版本,个人使用版本“a disk image for OS X that contains a Mac application including Oracle's Java 1.8 JVM”Data Mining...

  • 数据丢失(缺失)在现实生活中总是一个问题。 机器学习和数据挖掘等领域由于数据缺失导致的数据质量差,在模型预测的准确性上面临着严重的问题。 在这些领域,缺失值处理是使模型更加准确和有效的重点。 何时以及为什么数据丢失? 想象一下有一个产品的在线调查。很多时候,人们不会分享与他们有关的所有信息。 很少有人分享他们的经验,但不是他们使用产品...