当把sparksql结果存进mysql是如果表不存在sparksql会直接建表并且sql里数据和sparksql数据结构不相同
所以会导致数据错误
如果数据库里存在该表会报错 所以可以用mode追加
.write.mode(SaveMode.Append).jdbc(url,"tablename",prop)
正文代码
private val url = "jdbc:mysql://192.168.203.45:3306/test"
/**
* 数据库账号
*/
val prop =new Properties()
prop.setProperty("user","root")
prop.setProperty("password","123456")
spark.sql("select starttime,endtime from record ")//.write.jdbc(url,"cvde1",prop)
第二种
使用option
需要配置
url,user,password,dstable.save
spark.sql("select starttime,endtime from record ").write.format("jdbc").option("url","jdbc:mysql://192.168.203.45:3306/test")
.option("user","root").option("password","123456").option("dbtable","www").save()