Mysql
 sql >> Datenbank >  >> RDS >> Mysql

pyspark mysql jdbc load Beim Aufruf von o23.load ist ein Fehler aufgetreten. Kein geeigneter Treiber

Ich bin auf "java.sql.SQLException:Kein geeigneter Treiber" gestoßen, als ich versuchte, mein Skript in MySQL schreiben zu lassen.

Folgendes habe ich getan, um das zu beheben.

In script.py

df.write.jdbc(url="jdbc:mysql://localhost:3333/my_database"
                  "?user=my_user&password=my_password",
              table="my_table",
              mode="append",
              properties={"driver": 'com.mysql.jdbc.Driver'})

Dann habe ich spark-submit auf diese Weise ausgeführt

SPARK_HOME=/usr/local/Cellar/apache-spark/1.6.1/libexec spark-submit --packages mysql:mysql-connector-java:5.1.39 ./script.py

Beachten Sie, dass SPARK_HOME spezifisch für den Ort ist, an dem Spark installiert ist. Für Ihre Umgebung ist dies https://github.com/sequenceiq/docker -spark/blob/master/README.md könnte helfen.

Falls all dies verwirrend ist, versuchen Sie Folgendes:
Ersetzen Sie in t.py

sqlContext.read.format("jdbc").option("url",url).option("dbtable","people").load()

mit

sqlContext.read.format("jdbc").option("dbtable","people").option("driver", 'com.mysql.jdbc.Driver').load()

Und führen Sie das mit

aus
spark-submit --packages mysql:mysql-connector-java:5.1.39 --master local[4] t.py