sql >> Databáze >  >> RDS >> Mysql

pyspark mysql jdbc load Došlo k chybě při volání o23.load Žádný vhodný ovladač

Při pokusu o zápis mého skriptu do MySQL jsem narazil na „java.sql.SQLException:Žádný vhodný ovladač“.

Zde je to, co jsem udělal, abych to napravil.

V 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'})

Pak jsem spustil spark-submit tímto způsobem

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

Všimněte si, že SPARK_HOME je specifické pro místo, kde je spark nainstalován. Pro vaše prostředí toto https://github.com/sequenceiq/docker -spark/blob/master/README.md může pomoci.

V případě, že je vše výše uvedené matoucí, zkuste toto:
V t.py nahradit

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

s

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

A spusťte to pomocí

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


  1. Hexadecimální hodnota 0x00 je neplatný znak

  2. Jak mohu VYBRAT data z podřízené tabulky v PostgreSQL?

  3. java.sql.SQLException:Neplatná hodnota argumentu:java.io.NotSerializableException

  4. Jak vidím rozdíly mezi 2 výpisy MySQL?