在glue中加载redshift jdbc url的spark sql上下文时出错

pod7payv  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(262)

你好,我正在尝试从胶水作业中的大量红移表中获取月份数据。
据我所知,这方面的胶水文档非常有限。这个查询在sql workbench中运行得很好,我使用的jdbc连接与“myjdbc\ uURL”中使用的jdbc连接相同。
下面是我所尝试和看到的错误-

from pyspark.context import SparkContext
sc = SparkContext()
sql_context = SQLContext(sc)
df1 = sql_context.read \
            .format("jdbc") \
            .option("url", myjdbc_url) \
            .option("query", mnth_query) \
            .option("forward_spark_s3_credentials","true") \
            .option("tempdir", "s3://my-bucket/sprk") \
            .load()
print("Total recs for month :"+str(mnthval)+" df1 -> "+str(df1.count()))

但是,它在日志中显示驱动程序错误,如下所示-
:java.sql.sqlexception:java.sql.drivermanager.getdriver(drivermanager)中没有合适的驱动程序。java:315)位于org.apache.spark.sql.execution.datasources.jdbc.jdbchoptions$$anonfun$6.apply(jdbchoptions)。scala:105)位于org.apache.spark.sql.execution.datasources.jdbc.jdbchoptions$$anonfun$6.apply(jdbchoptions)。scala:105)在scala.option.getorelse(选项。scala:121)
我也用过跟风,但没用。最终导致连接错误。

sql_context.read \
                .format("com.databricks.spark.redshift")
                .option("url", myjdbc_url) \
                .option("query", mnth_query) \
                .option("forward_spark_s3_credentials","true") \
                .option("tempdir", "s3://my-bucket/sprk") \
                .load()

什么是正确的驱动程序使用。因为我正在使用glue,它是一个托管服务,在后台使用临时集群。不知道我错过了什么。请问什么是正确的司机?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题