sql >> Database teknologi >  >> RDS >> Mysql

pyspark mysql jdbc load Der opstod en fejl under opkald til o23.load Ingen passende driver

Jeg løb ind i "java.sql.SQLException:Ingen passende driver", da jeg forsøgte at få mit script til at skrive til MySQL.

Her er, hvad jeg gjorde for at rette det.

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

Så kørte jeg spark-submit på denne måde

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

Bemærk, at SPARK_HOME er specifik for, hvor gnisten er installeret. Til dit miljø er denne https://github.com/sequenceiq/docker -spark/blob/master/README.md kan hjælpe.

Hvis alt ovenstående er forvirrende, så prøv dette:
I t.py replace

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

med

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

Og kør det med

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


  1. Indsættelse af flere rækker i mysql

  2. Gem data på arabisk i MySQL-databasen

  3. Sådan administrerer du Rails database.yml

  4. MySQL betragter 'е' og 'ё' som ens, hvordan indstiller jeg den til at betragte dem som forskellige?