Mysql
 sql >> Baza danych >  >> RDS >> Mysql

pyspark mysql jdbc load Wystąpił błąd podczas wywoływania o23.load Brak odpowiedniego sterownika

Natrafiłem na „java.sql.SQLException:Brak odpowiedniego sterownika”, gdy próbowałem zapisać mój skrypt do MySQL.

Oto, co zrobiłem, aby to naprawić.

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

Następnie uruchomiłem iskrę-prześlij w ten sposób

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

Zwróć uwagę, że SPARK_HOME jest specyficzny dla miejsca, w którym jest zainstalowany Spark. Dla Twojego środowiska ten https://github.com/sequenceiq/docker -spark/blob/master/README.md może pomóc.

Jeśli wszystko powyższe jest mylące, spróbuj tego:
W t.py replace

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

z

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

I uruchom to za pomocą

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz się z wieloma bazami danych jednocześnie w Laravel 5.2

  2. MYSQL INNER JOIN, aby uzyskać 3 rodzaje wyników

  3. Format rekordu obecności na zajęciach Zapytanie SQL

  4. Zmień wartość AUTO_INCREMENT, wybierając wynik

  5. Pobierz z bazy danych, ale tylko przez 30 dni