rdd和DF数据存入MYSQL
http://blog.csdn.net/dabokele/article/details/52802150
1.通过RDD函数批量存入数据
- object RDDtoMysql {
- def myFun(iterator: Iterator[(String, Int)]): Unit = {
- var conn: Connection = null
- var ps: PreparedStatement = null
- val sql = "insert into sparktomysql(name, age) values (?, ?)"
- try {
- conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_dw","test_dw", "123456")
- iterator.foreach(data => {
- ps = conn.prepareStatement(sql)
- ps.setString(1, data._1)
- ps.setInt(2, data._2)
- ps.executeUpdate()
- }
- )
- } catch {
- case e: Exception => println("Mysql Exception")
- } finally {
- if (ps != null) {
- ps.close()
- }
- if (conn != null) {
- conn.close()
- }
- }
- }
- def main(args: Array[String]) {
- val conf = new SparkConf().setAppName("RDDToMysql").setMaster("local")
- val sc = new SparkContext(conf)
- val data = sc.parallelize(List(("www", 10), ("iteblog", 20), ("com", 30)))
- data.foreachPartition(myFun) //批量导入
- }
- }
2.DataFrame类操作mysql存入(适用于新建表和清空原来数据)
- def main(args: Array[String]): Unit = {
- val url = "jdbc:mysql://localhost:3306/spark?user=iteblog&password=iteblog"
- val sc = new SparkContext
- val sqlContext = new org.apache.spark.sql.SQLContext(sc)
- val schema = StructType(
- StructField("name", StringType) ::
- StructField("age", IntegerType)
- :: Nil)
- val data = sc.parallelize(List(("iteblog", 30), ("iteblog", 29),("com", 40), ("bt", 33), ("www", 23))).map(item => Row.apply(item._1, item._2))
- val df = sqlContext.createDataFrame(data, schema)
- df.insertIntoJDBC(url, "sparktomysql", true)//true代表删除原来数据进行插入
- sc.stop
- }
此方法,在新版本 spark里面已经注销掉了。 .write.jdbc() 替代之了
definsertIntoJDBC(url: String, table: String, overwrite: Boolean): Unit
Save this DataFrame to a JDBC database at url
under the table name table
. Assumes the table already exists and has a compatible schema. If you pass true
for overwrite
, it will TRUNCATE
the table before performing the INSERT
s.
The table must already exist on the database. It must have a schema that is compatible with the schema of this RDD; inserting the rows of the RDD in order via the simple statement INSERT INTO table VALUES (?, ?, ..., ?)
should not fail.
- Annotations
- @deprecated
- Deprecated
-
(Since version 1.4.0) Use write.jdbc(). This will be removed in Spark 2.0.
rdd和DF数据存入MYSQL相关推荐
- python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法
Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...
- 如何将数据存入mysql_怎样将数据存入mysql数据库
怎样将数据存入mysql数据库 mip版 关注:231 答案:2 悬赏:80 解决时间 2021-01-18 14:57 已解决 2021-01-17 20:37 怎样将数据存入mysql数据库 ...
- scrapy爬虫数据存入mysql数据库
上篇博客使用scrapy框架爬取豆瓣电影top250信息将各种信息通过json存在文件中,不过对数据的进一步使用显然放在数据库中更加方便,这里将数据存入mysql数据库以便以后利用. 运行环境: 1. ...
- flume 数据存入mysql(二)对敏感信息加密
前面写了flume 将数据存入mysql,但是有个问题,就是配置文件中暴露了我的mysql 的地址和帐号密码.这个是很危险的事情.所以这里就对mysql 的配置信息进行简单加密处理. 加密我才用 ba ...
- Python爬取股票数据存入mysql数据库,获取股票(最新、最高、今开、成交量、成交额、量比、换手率、涨幅等)支持多线程+数据库连接池
项目简介 (Python)爬虫 + MySQL + Redis项目. 爬取下来的数据可用于后续的数据分析(我计划将其用于我的毕业设计). 未来会将数据分析的可视化部署到服务器上, 并添加股票降价通知的 ...
- scrapy mysql数据库_Python3学习系列(十三):Scrapy将数据存入Mysql数据库
前言: 下面给大家介绍将下载的数据存入到Mysql数据库的用法,数据来源是Mooc的课程. 代码实现: items.py from scrapy import Item,Field class Moo ...
- scrapy框架爬取Boss直聘,数据存入mysql
自从上次用了scrapy爬取豆瓣电影后,发现scrapy除了入门相对request较难外,各方面都挺好的,速度很快,还有各个功能模块,以及django类似的各种中间件组成一个完善的系统框架,需要一点一 ...
- web项目数据存入mysql数据库中文乱码问题
刚开始怀疑是项目中编码设置问题,发现在web.xml中已经有过设置:后来dubug显示数据在传输的过程中一切正常,怀疑是数据库编码问题,然后查看mysql编码: show variables like ...
- python将数据存入数据库_python3 两种方法将数据存入mysql数据库
原博文 2017-09-22 18:25 − 方法一:(数据量小的时候推荐使用这种) 第一步:pip install mysqlclient 这里我没有报错 也许你可能会报错Read timed ou ...
- python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库
方法一:(数据量小的时候推荐使用这种) 第一步:pip install mysqlclient 这里我没有报错 也许你可能会报错Read timed out 此时不要慌,这是因为你的网络问题,你使 ...
最新文章
- QT Creator介绍
- 比特币拒绝第 340 次“被死亡”
- java记事本应用程序_Java教程:使用记事本编写运行Java程序
- oracle ob 使用基础之基础
- jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程
- jQuery全屏滚动插件fullPage.js
- java 关闭 tomcat,每次关闭TOMCAT就报错 不知道什么?该如何处理
- 变电站接地网的优化设计22437
- 基于三菱FX系列与扫码枪232的通讯
- list保存到scv
- 怎么样用阿里云RDS数据库
- 三维地图(3D地图)离线地图开发
- 微星超龙显卡的性能模式无法开机的原因与解决办法
- GBase 8a MPP Cluster 数据加载参数及语句
- bzoj 4765 普通计算姬
- http请求报文 主机IP_计算机网络基础:这是一份详细HTTP学习指南
- c语言编译器xilinx,XCS10-5TQ280C_赛灵思artix-7
- 多个表格汇总怎么做?
- 两路音频合成一路电路_请高手指点下:两路模拟音频信号怎么样才能合成一路再通过喇叭输出...
- 空间存储公链(SSCC)新一代区块链技术概览