Я новичок в Scala, пытаюсь использовать Spark для чтения из базы данных MySQL.Я сталкиваюсь с исключением из класса, что бы я ни делал.Я пытался подключиться без Spark, используя Squeryl, Scalike и т. Д. Всегда одна и та же проблема.Вот один пример, который я попробовал:
logger.info("Write part")
val dataframe_mysql = spark.sqlContext
.read.format("jdbc")
.option("url", s"jdbc:mysql://${datamart_server}:3306/vol")
.option("driver", "com.mysql.jdbc.Driver")
.option("dbtable", "company")
.option("user", datamart_user).option("password", datamart_pwd)
.load()
dataframe_mysql.show()
Я пытался поместить имя класса драйвера в файл src / main / resources / application.conf:
db.default.driver="com.mysql.jdbc.Driver"
Но это не помогло.У меня есть:
java.sql.SQLException: нет подходящего драйвера
Я также поделился файлом sbt, чтобы показать, как я добавляю зависимости:
name := "commercial-api-datamart-feed"
version := "0.1"
scalaVersion := "2.11.6"
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.0"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.3" % Runtime
libraryDependencies += "com.typesafe.scala-logging" %% "scala-logging" % "3.9.0"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.0"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.0"
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.24" % Runtime
Искра не обязательна, но я думаю, что это лучше для производительности.