Spark写入数据到MySQL
来源:互联网 发布:中地集团java怎么样 编辑:程序博客网 时间:2024/05/21 22:51
以下是本人做的测试,如果有错误请及时指正,有问题欢迎一起讨论。
情景:
需要读取HDFS上的数据,处理之后,写入到MySQL数据库里面去。
实现:
1、版本
spark版本:1.2.1
MySQL版本:5.6.21
2、数据准备
HDFS上:
MySQL里:
3、spark代码
package sparkTestimport java.sql.{DriverManager, PreparedStatement, Connection}import org.apache.spark.{SparkContext, SparkConf}object sparkToMysql {case class info(info1: String, info2: Int)def toMySQL(iterator: Iterator[(String, Int)]): Unit = {var conn: Connection = nullvar ps: PreparedStatement = nullval sql = "insert into info(info1, info2) values (?, ?)"try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spark_test", "root", "111111")iterator.foreach(dataIn => {ps = conn.prepareStatement(sql)ps.setString(1, dataIn._1)ps.setInt(2, dataIn._2)ps.executeUpdate()})} catch {case e: Exception => e.printStackTrace()} finally {if (ps != null) {ps.close()}if (conn != null) {conn.close()}}}def main(args: Array[String]) {val conf = new SparkConf().setAppName("sparkToMysql").setMaster("local")val sc = new SparkContext(conf)val dataFromHDFS=sc.textFile(args(0)).map(_.split("\\^")).map(line => (line(0),line(1).toInt))dataFromHDFS.foreachPartition(toMySQL)}}4、运行
/home/lenovo/spark-1.2.1/bin/spark-submit \--class sparkTest.sparkToMysql \--driver-class-path /home/lenovo/mysql-connector-java-5.0.8.jar \/home/lenovo/sparkTest/sparkToMysql.jar \hdfs://master:9000/sparkToMysql5、结果
0 0
- Spark写入数据到MySQL
- Pandas写入数据到MySQL
- Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)
- Hbase通过 Mapreduce 写入数据到Mysql
- spark将计算结果写入到mysql中
- Spark将计算结果写入到Mysql中
- Spark将计算结果写入到Mysql中
- 关于spark使用DF写入到数据库mysql
- Spark 修改整列数据类型+写入数据到HDFS
- Spark SQL将数据写入Mysql表的一些坑
- Spark SQL将数据写入Mysql表的一些坑
- Spark SQL将数据写入Mysql表的一些坑
- Spark数据存储到mysql中
- spark向kafka写入数据
- spark日志检查–将数据写入到数据中02
- 用把数据从hdfs写入到mysql
- heritrix3抓取的数据直接写入到mysql中
- 用Python把EXCEL中的数据写入到MySQL中
- OC中点语法、id类型和构造方法
- J002.关于static变量
- 黑马程序员—集合框架
- ssh完成对oracle数据库的增删查改
- java内存溢出问题
- Spark写入数据到MySQL
- 3.14会
- MATLAB神经网络编程(一)——感知器
- hdu 5187 zhx's contest ( 数学+java)
- Android屏幕适配
- 快速乘法
- TortoiseSVN客户端重新设置用户名和密码
- HDU 2444 The Accomodation of Students (二分图判定、求最大匹配)
- vim学习笔记