一、读mysql
1、format格式
val personDFS: DataFrame = spark.read
.format("jdbc")
.option("url", "jdbc:mysql://localhost:3306/indo")
.option("user", "root")
.option("password", "root")
.option("dbtable", "person")
.load()
personDFS.show()
.option("dbtable", "person")
为表的名字
2、jdbc格式
val props = new Properties()
props.put("user","root")
props.put("password","root")
val sqlDF: DataFrame = spark.read.jdbc("jdbc:mysql://localhost:3306/indo", "person", props)
sqlDF.show()
"jdbc:mysql://localhost:3306/indo"
数据库
"person"
:表名
props
:配置
val props = new Properties()
props.put(“user”,“root”)
props.put(“password”,“root”)
配置props
二、写
1、format格式
val fileDf: DataFrame = spark.read.json("F:\\data\\people.json")
fileDf.write
.format("jdbc")
.option("url","jdbc:mysql://localhost:3306/indo")
.option("user","root")
.option("password","root")
.option("dbtable","person")
.mode(SaveMode.Append)
.save()
2、jdbc格式
val fileDf: DataFrame = spark.read.json("F:\\data\\people.json")
val props = new Properties()
props.put("user","root")
props.put("password","root")
fileDf.write.jdbc("jdbc:mysql://localhost:3306/indo","person1",props)
三、mode模式
1、 .mode(SaveMode.Append)
存在就追加
2、.mode(SaveMode.ErrorIfExists)
(默认)存在就报错
3、.mode(SaveMode.Ignore)
存在就忽略,不报错,不写
4、.mode(SaveMode.Overwrite)
存在就删除重写(覆盖)