com.mysql.jdbc.Driver не найден в spark2 scala

Я использую Jupyter Notebook с ядром Scala, ниже приведен мой код для импорта таблицы mysql в фрейм данных:

val sql="""select * from customer"""
val df_customer = spark.read
  .format("jdbc")
  .option("url", "jdbc:mysql://localhost:3306/ccfd")
  .option("driver", "com.mysql.jdbc.Driver")
  .option("dbtable",  s"( $sql ) t")
  .option("user", "root")
  .option("password", "xxxxxxx")
  .load()

Ниже приведена ошибка:

Name: java.lang.ClassNotFoundException
Message: com.mysql.jdbc.Driver
StackTrace:   at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at org.apache.spark.sql.execution.datasources.jdbc.DriverRegistry$.register(DriverRegistry.scala:45)
  at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$6.apply(JDBCOptions.scala:79)
  at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$6.apply(JDBCOptions.scala:79)
  at scala.Option.foreach(Option.scala:257)
  at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:79)
  at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:35)
  at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:34)
  at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)
  at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)

Кто-нибудь может поделиться здесь рабочим фрагментом кода? Я использую Spark2, сеанс с именем spark готов, когда я запускаю ядро ​​​​в новом ноутбуке.

Заранее спасибо.


person mdivk    schedule 14.03.2019    source источник
comment
Вы добавили банку mysql jdbc в каталог spark lib?   -  person Apurba Pandey    schedule 14.03.2019
comment
Спасибо. Я добавил последнюю версию jar mysql-connector-java-5.1.47.jar в JAVA_HOME, то есть /usr/java/jdk1.8.0_121, сообщение об ошибке изменится на: Name: java.sql.SQLException Message: No suitable driver   -  person mdivk    schedule 15.03.2019
comment
Поместите его в каталог SPARK_HOME/lib, пожалуйста.   -  person Apurba Pandey    schedule 15.03.2019