我正试图使用EMR中的Pyspark访问RDS中的一些表。
我试着在usrsharejava中安装JDBC驱动,但看起来好像火花没有接收到驱动。
from pyspark.sql import SparkSession
jdbc_url = "jdbc:mysql://{0}:{1}/{2}".format(hostname, jdbcPort, dbname)
hostname = "rds_host"
jdbcPort = 3306
dbname = 'demo'
username = 'user'
password = 'pass'
table = "demo_table"
connectionProperties = {
"user" : "user",
"password" : "pass"
}
my_df = spark.read.jdbc(url=jdbc_url, table='SRC_CONNECTION', properties= connectionProperties)
my_df.show()
ERROR:
py4j.protocol.Py4JJavaError: An error occurred while calling o66.jdbc.
: java.sql.SQLException: No suitable driver`
添加 mysql-connector-java-*.jar
同时初始化 侏儒公园 shell使用`--jars。
对于 提交火花 使用 --driver-classpath <jar_path>
参数。
在connectionProperties中添加 driver : "com.mysql.jdbc.Driver"