在使用jdbc開啟pyspark shell
下載jar包:https://dev.mysql.com/downloads/connector/j/
tar -zxf mysql-connector-java-8.0.13.tar.gz /usr/local/spark/jars/
在啟動pyspark 時 指定--jars參數
pyspark --jars /usr/local/spark/jars/mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar --driver-class-path /usr/local/spark/jars/mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar
在pyspark shell 中連接mysql數據庫時出錯
jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/spark").option("driver","com.mysql.jdbc.Driver").option("dbtable", "student").option("user", "root").option("password", "hadoop").load()
報錯顯示:
Py4JJavaError: An error occurred while calling o31.load.
: java.sql.SQLException: Access denied for user 'root'@'localhost'
最后在mysql數據庫中重新建立了一個 用戶,為這個用戶指定數據庫權限。然后使用這個用戶連接數據庫,沒有報錯。