No suitable driver found for jdbc Spark
Ich bin mit
df.write.mode("append").jdbc("jdbc:mysql://ip:port/database", "table_name", properties)
in eine Tabelle einfügen in MySQL.
Auch, ich habe Class.forName("com.mysql.jdbc.Driver")
in meinem code.
Wenn ich meine Funke Anwendung:
spark-submit --class MY_MAIN_CLASS
--master yarn-client
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
Dieses Garn-client-Modus funktioniert für mich.
Aber wenn ich Garn-cluster-Modus:
spark-submit --class MY_MAIN_CLASS
--master yarn-cluster
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
Es doens T Arbeit. Ich habe auch versucht, die Einstellung "--conf":
spark-submit --class MY_MAIN_CLASS
--master yarn-cluster
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
--conf spark.executor.extraClassPath=/path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
aber bekomme immer noch die "No suitable driver found for jdbc" Fehler.
InformationsquelleAutor Xiaoyu Chen | 2016-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es 3 mögliche Lösungen,
spark-submit
cli.Können Sie die folgende option in Ihrer
spark-submit
cli :Erklärung : Angenommen, Sie haben alle Ihre Gläser in einem
lib
Verzeichnis in deinem Projekt root, Lesen alle Bibliotheken und fügen Sie Sie an die Anwendung senden.Können Sie auch versuchen, konfigurieren Sie diese 2 Variablen :
spark.driver.extraClassPath
undspark.executor.extraClassPath
imSPARK_HOME/conf/spark-default.conf
Datei, und geben Sie den Wert dieser Variablen als Pfad der jar-Datei. Sicherstellen, dass der Pfad vorhanden ist, auf die worker nodes.können Sie auch versuchen, konfigurieren Sie diese 2 Variablen, die "Funken.- Treiber.extraClassPath" und "der Funke.executor.extraClassPath" in "SPARK_HOME/conf/Funke-Standard.conf" - Datei und geben Sie den Wert dieser Variablen als Pfad der jar-Datei. Sicherstellen, dass der Pfad existiert auf worker-Knoten.
Die Einstellung "spark.- Treiber.extraClassPath" arbeitet für mich, danke.
InformationsquelleAutor
Ich habe versucht, die Vorschläge, die hier gezeigt werden, die nicht für mich arbeiten (mit mysql). Während des Debuggens durch die DriverManager-code, merkte ich, dass ich brauchte, um zu registrieren, mein Fahrer ist da dies geschieht nicht automatisch mit "spark-submit". Ich fügte
Konstruktor registriert sich der Treiber beim DriverManager, der gelöst die SQLException problem für mich.
InformationsquelleAutor Sumit