28.
Spark 的Scala项目中,读取mysql数据
https://www.cnblogs.com/wwxbi/p/6978774.html
①在sbt配置文件中,添加mysql依赖。版本很多,选用哪一个版本均可以的,以下是示例:
libraryDependencies XXX
添加 "mysql" % "mysql-connector-java" % "5.1.28"
②sbt assembly
③读取mysql表方法:
import java.util.Properties
val mysqlUrl = "jdbc:mysql://localhost:3306/test"
val mysqlTable = "name_map"
val user = "XXX"
val password = "XXX"
val properties = new Properties()
properties.setProperty("user", user)
properties.setProperty("password", password)
properties.setProperty("driver","com.mysql.jdbc.Driver")
val df2 = ss.read.jdbc(mysqlUrl, mysqlTable, properties)
df2.show()
如下帖子中有一些可能的报错,值得借鉴:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
解决办法:
可能还会有的报错:
ERROR ApplicationMaster: User class threw exception: java.sql.SQLException: No suitable driver
java.sql.SQLException: No suitable driver
在spark连接mysql的代码里指定driver为:"com.mysql.jdbc.Driver"
【properties.setProperty("driver","com.mysql.jdbc.Driver")】
此贴来自汇总贴的子问题,只是为了方便查询。
总贴请看置顶帖:
pyspark及Spark报错问题汇总及某些函数用法。