sql >> Databasteknik >  >> RDS >> Mysql

pyspark mysql jdbc load Ett fel uppstod när o23.load anropades Ingen lämplig drivrutin

Jag stötte på "java.sql.SQLException:Ingen lämplig drivrutin" när jag försökte få mitt skript att skriva till MySQL.

Det här är vad jag gjorde för att fixa 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'})

Sedan körde jag spark-submit på det här sättet

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

Observera att SPARK_HOME är specifikt för var gnistan är installerad. För din miljö denna https://github.com/sequenceiq/docker -spark/blob/master/README.md kan hjälpa.

Om allt ovan är förvirrande, prova detta:
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()

Och kör det med

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


  1. Symfony2 Doctrine - ILIKE-klausul för PostgreSQL?

  2. Stream hämtat från Postgres med jOOQ som inte returnerar resultat från klassen

  3. Varför konverteras char datatype till bpchar automatiskt?

  4. Skickar DataTable till lagrad procedur som ett argument