Natrafiłem na „java.sql.SQLException:Brak odpowiedniego sterownika”, gdy próbowałem zapisać mój skrypt do MySQL.
Oto, co zrobiłem, aby to naprawić.
W 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'})
Następnie uruchomiłem iskrę-prześlij w ten sposób
SPARK_HOME=/usr/local/Cellar/apache-spark/1.6.1/libexec spark-submit --packages mysql:mysql-connector-java:5.1.39 ./script.py
Zwróć uwagę, że SPARK_HOME jest specyficzny dla miejsca, w którym jest zainstalowany Spark. Dla Twojego środowiska ten https://github.com/sequenceiq/docker -spark/blob/master/README.md może pomóc.
Jeśli wszystko powyższe jest mylące, spróbuj tego:
W t.py replace
sqlContext.read.format("jdbc").option("url",url).option("dbtable","people").load()
z
sqlContext.read.format("jdbc").option("dbtable","people").option("driver", 'com.mysql.jdbc.Driver').load()
I uruchom to za pomocą
spark-submit --packages mysql:mysql-connector-java:5.1.39 --master local[4] t.py