http://blog.csdn.net/dabokele/article/details/52802150

1.通过RDD函数批量存入数据

[java] view plaincopy
  1. object RDDtoMysql {
  2. def myFun(iterator: Iterator[(String, Int)]): Unit = {
  3. var conn: Connection = null
  4. var ps: PreparedStatement = null
  5. val sql = "insert into sparktomysql(name, age) values (?, ?)"
  6. try {
  7. conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_dw","test_dw", "123456")
  8. iterator.foreach(data => {
  9. ps = conn.prepareStatement(sql)
  10. ps.setString(1, data._1)
  11. ps.setInt(2, data._2)
  12. ps.executeUpdate()
  13. }
  14. )
  15. } catch {
  16. case e: Exception => println("Mysql Exception")
  17. } finally {
  18. if (ps != null) {
  19. ps.close()
  20. }
  21. if (conn != null) {
  22. conn.close()
  23. }
  24. }
  25. }
  26. def main(args: Array[String]) {
  27. val conf = new SparkConf().setAppName("RDDToMysql").setMaster("local")
  28. val sc = new SparkContext(conf)
  29. val data = sc.parallelize(List(("www", 10), ("iteblog", 20), ("com", 30)))
  30. data.foreachPartition(myFun) //批量导入
  31. }
  32. }

2.DataFrame类操作mysql存入(适用于新建表和清空原来数据)

[java] view plaincopy
  1. def main(args: Array[String]): Unit = {
  2. val url = "jdbc:mysql://localhost:3306/spark?user=iteblog&password=iteblog"
  3. val sc = new SparkContext
  4. val sqlContext = new org.apache.spark.sql.SQLContext(sc)
  5. val schema = StructType(
  6. StructField("name", StringType) ::
  7. StructField("age", IntegerType)
  8. :: Nil)
  9. val data = sc.parallelize(List(("iteblog", 30), ("iteblog", 29),("com", 40), ("bt", 33), ("www", 23))).map(item => Row.apply(item._1, item._2))
  10. val df = sqlContext.createDataFrame(data, schema)
  11. df.insertIntoJDBC(url, "sparktomysql", true)//true代表删除原来数据进行插入
  12. sc.stop
  13. }

此方法,在新版本 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 truefor overwrite, it will TRUNCATE the table before performing the INSERTs.

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相关推荐

  1. python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法

    Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...

  2. 如何将数据存入mysql_怎样将数据存入mysql数据库

    怎样将数据存入mysql数据库 mip版  关注:231  答案:2  悬赏:80 解决时间 2021-01-18 14:57 已解决 2021-01-17 20:37 怎样将数据存入mysql数据库 ...

  3. scrapy爬虫数据存入mysql数据库

    上篇博客使用scrapy框架爬取豆瓣电影top250信息将各种信息通过json存在文件中,不过对数据的进一步使用显然放在数据库中更加方便,这里将数据存入mysql数据库以便以后利用. 运行环境: 1. ...

  4. flume 数据存入mysql(二)对敏感信息加密

    前面写了flume 将数据存入mysql,但是有个问题,就是配置文件中暴露了我的mysql 的地址和帐号密码.这个是很危险的事情.所以这里就对mysql 的配置信息进行简单加密处理. 加密我才用 ba ...

  5. Python爬取股票数据存入mysql数据库,获取股票(最新、最高、今开、成交量、成交额、量比、换手率、涨幅等)支持多线程+数据库连接池

    项目简介 (Python)爬虫 + MySQL + Redis项目. 爬取下来的数据可用于后续的数据分析(我计划将其用于我的毕业设计). 未来会将数据分析的可视化部署到服务器上, 并添加股票降价通知的 ...

  6. scrapy mysql数据库_Python3学习系列(十三):Scrapy将数据存入Mysql数据库

    前言: 下面给大家介绍将下载的数据存入到Mysql数据库的用法,数据来源是Mooc的课程. 代码实现: items.py from scrapy import Item,Field class Moo ...

  7. scrapy框架爬取Boss直聘,数据存入mysql

    自从上次用了scrapy爬取豆瓣电影后,发现scrapy除了入门相对request较难外,各方面都挺好的,速度很快,还有各个功能模块,以及django类似的各种中间件组成一个完善的系统框架,需要一点一 ...

  8. web项目数据存入mysql数据库中文乱码问题

    刚开始怀疑是项目中编码设置问题,发现在web.xml中已经有过设置:后来dubug显示数据在传输的过程中一切正常,怀疑是数据库编码问题,然后查看mysql编码: show variables like ...

  9. python将数据存入数据库_python3 两种方法将数据存入mysql数据库

    原博文 2017-09-22 18:25 − 方法一:(数据量小的时候推荐使用这种) 第一步:pip install mysqlclient 这里我没有报错 也许你可能会报错Read timed ou ...

  10. python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库

    方法一:(数据量小的时候推荐使用这种) 第一步:pip install mysqlclient 这里我没有报错 也许你可能会报错Read timed out   此时不要慌,这是因为你的网络问题,你使 ...

最新文章

  1. QT Creator介绍
  2. 比特币拒绝第 340 次“被死亡”
  3. java记事本应用程序_Java教程:使用记事本编写运行Java程序
  4. oracle ob 使用基础之基础
  5. jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程
  6. jQuery全屏滚动插件fullPage.js
  7. java 关闭 tomcat,每次关闭TOMCAT就报错 不知道什么?该如何处理
  8. 变电站接地网的优化设计22437
  9. 基于三菱FX系列与扫码枪232的通讯
  10. list保存到scv
  11. 怎么样用阿里云RDS数据库
  12. 三维地图(3D地图)离线地图开发
  13. 微星超龙显卡的性能模式无法开机的原因与解决办法
  14. GBase 8a MPP Cluster 数据加载参数及语句
  15. bzoj 4765 普通计算姬
  16. http请求报文 主机IP_计算机网络基础:这是一份详细HTTP学习指南
  17. c语言编译器xilinx,XCS10-5TQ280C_赛灵思artix-7
  18. 多个表格汇总怎么做?
  19. 两路音频合成一路电路_请高手指点下:两路模拟音频信号怎么样才能合成一路再通过喇叭输出...
  20. 空间存储公链(SSCC)新一代区块链技术概览

热门文章

  1. electron 爬坑记
  2. Android开发技巧:给Button的点击上色
  3. android系统文件的权限
  4. IOS开发之支付功能概述
  5. 团队项目—第二阶段第五天
  6. hive与mysql的数据分区的异同
  7. .net实现调用本地exe等应用程序的办法总结
  8. php环境搭建(php5.5.8+apache2.4)
  9. 为什么要用非关系型数据库nosql
  10. Acrobat Pro DC 教程,如何在 PDF 中添加和组织页面?