sql >> Database >  >> RDS >> Mysql

pyspark mysql jdbc load Er is een fout opgetreden tijdens het aanroepen van o23.load Geen geschikt stuurprogramma

Ik kwam "java.sql.SQLException:Geen geschikte driver" tegen toen ik probeerde mijn script naar MySQL te laten schrijven.

Dit is wat ik deed om dat op te lossen.

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

Toen heb ik spark-submit op deze manier uitgevoerd

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

Merk op dat SPARK_HOME specifiek is voor waar spark is geïnstalleerd. Voor uw omgeving is deze https://github.com/sequenceiq/docker -spark/blob/master/README.md zou kunnen helpen.

Als al het bovenstaande verwarrend is, probeer dan dit:
In t.py vervangen

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

met

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

En voer dat uit met

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


  1. mysql - kan ik opvragen hoeveel connect_errors een bepaalde host heeft gegeven?

  2. Privéchatsysteem MYSQL-verzoek om het laatste bericht van de afzender/ontvanger weer te geven

  3. PostgreSQL traag? Tips en trucs om bij de bron te komen

  4. SQLAlchemy StaleDataError bij het verwijderen van items die zijn ingevoegd via ORM sqlalchemy.orm.exc.StaleDataError