pyspark 使用jdbc 连接mysql 数据库报错 Access denied for user 'root'@'localhost'
在使用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数据库中重新建立了一个 用户,为这个用户指定数据库权限。然后使用这个用户连接数据库,没有报错。