Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

pyspark mysql jdbc load Ocorreu um erro ao chamar o23.load Nenhum driver adequado


Eu encontrei "java.sql.SQLException:Nenhum driver adequado" quando tentei fazer meu script gravar no MySQL.

Aqui está o que eu fiz para corrigir isso.

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

Então eu corri spark-submit dessa maneira
SPARK_HOME=/usr/local/Cellar/apache-spark/1.6.1/libexec spark-submit --packages mysql:mysql-connector-java:5.1.39 ./script.py

Observe que SPARK_HOME é específico para onde o spark está instalado. Para o seu ambiente, este https://github.com/sequenceiq/docker -spark/blob/master/README.md pode ajudar.

Caso tudo acima seja confuso, tente isto:
In t.py replace
sqlContext.read.format("jdbc").option("url",url).option("dbtable","people").load()

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

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