Apache spark 从Pyspark EMR访问AWS RDS

Apache spark 从Pyspark EMR访问AWS RDS,apache-spark,jdbc,pyspark,amazon-rds,amazon-emr,Apache Spark,Jdbc,Pyspark,Amazon Rds,Amazon Emr,我正在尝试使用EMR中的Pyspark访问RDS中的一些表 我曾尝试在/usr/share/java中安装JDBC驱动程序,但看起来spark没有安装这些驱动程序 from pyspark.sql import SparkSession jdbc_url = "jdbc:mysql://{0}:{1}/{2}".format(hostname, jdbcPort, dbname) hostname = "rds_host" jdbcPort = 3306 dbname = 'demo' use

我正在尝试使用EMR中的Pyspark访问RDS中的一些表

我曾尝试在/usr/share/java中安装JDBC驱动程序,但看起来spark没有安装这些驱动程序

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`

在初始化pysparkshell时添加
mysql连接器java-*.jar

  • 对于,使用
    --驱动程序类路径
    参数

  • 在connectionProperties中添加驱动程序:“com.mysql.jdbc.driver”