博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IDEA 中Spark SQL通过JDBC连接mysql数据库
阅读量:5288 次
发布时间:2019-06-14

本文共 1778 字,大约阅读时间需要 5 分钟。

一.IDEA装驱动:

1.下载一个MySQL的JDBC驱动:mysql-connector-java-5.1.44.tar.gz

2.在idea Open Moudle Settings 在 Moudle中   选Dependencies + JDC驱动的解压位置 选(mysql-connector-java-5.1.44-bin)这个就ok

二.程序:

import java.util.Propertiesimport com.sun.org.apache.xalan.internal.xsltc.compiler.util.IntTypeimport org.apache.spark.sql.types._import org.apache.spark.sql.{Row, SparkSession}object JDBC_To_DF {  val spark= SparkSession.builder().getOrCreate()  import spark.implicits._  def main(args: Array[String]): Unit = {    val jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/***")  //*****这是数据库名      .option("driver", "com.mysql.jdbc.Driver").option("dbtable", "****")//*****是表名      .option("user", "*****").option("password", "*****").load()    jdbcDF.show()    val studentRDD=spark.sparkContext.parallelize(Array("3 小翠 G 27","4 小狗蛋 B 50"))                      .map(x=>x.split(" "))    val ROWRDD=studentRDD.map(x=>Row(x(0).toInt,x(1).trim,x(2).trim,x(3).toInt))       ROWRDD.foreach(print)    //设置模式信息    val schema=StructType(List(StructField("id",IntegerType,true),StructField("name",StringType,true),StructField("gender",StringType,true),StructField("age", IntegerType, true)))    val studentDF=spark.createDataFrame(ROWRDD,schema)    val parameter=new Properties()    parameter.put("user","****")    parameter.put("password","****")    parameter.put("driver","com.mysql.jdbc.Driver")    studentDF.write.mode("append").jdbc("jdbc:mysql://localhost:3306/******","/*/*/*/*/*",parameter) //******"是数据库名,/*/*/*/*/*表名   jdbcDF.show()  }}

结果:

+---+----+------+---+

| id|name|gender|age|
+---+----+------+---+
|  1|  小周|     B| 25|
|  2|  小苏|     G| 27|
|  3|  小翠|     G| 27|
|  4| 小狗蛋|     B| 50|
|  3|  小翠|     G| 27|
|  4| 小狗蛋|     B| 50|
+---+----+------+---+

转载于:https://www.cnblogs.com/soyo/p/7660687.html

你可能感兴趣的文章
Redis常用命令
查看>>
Happy 2006
查看>>
全方位剖析百度百科
查看>>
git常用操作命令
查看>>
图片的灰与彩
查看>>
linux文件映射到windows(方便用虚拟机搭建linux服务器,用本地windows代码编辑)...
查看>>
Handler
查看>>
Java书籍推荐
查看>>
深浅拷贝
查看>>
git子模块
查看>>
NSIS打包后无法解压7z资源包的问题
查看>>
Hive命令 参数
查看>>
容斥原理
查看>>
Linux加载DTS设备节点的过程(以高通8974平台为例)
查看>>
面向小白的网站搭建(二)
查看>>
php 调用java类
查看>>
帝国cms7.0忘记后台管理账户用户名密码
查看>>
hdu 2255 二分图最大权匹配 *
查看>>
bzoj 1415 期望+记忆化搜索 ****
查看>>
Lesson_fun
查看>>