需要将Spark 2.4连接到Postgresql 10.4
我使用pyspark尝试建立与Postresql的连接。
我已经下载了postgresql-42.2.5.jar并将其放在我的/ spark / jars目录中。
我已经阅读了很多帖子,并尝试了以下代码的很多变体,但始终会遇到相同的异常:
调用o1128.load时发生错误。
:java.lang.ClassNotFoundException:org.postgresql.Driver
from pyspark.sql import SparkSession
# create spark entry point
sparkSession = SparkSession.builder \
.appName('myapp') \
.getOrCreate()
df = sparkSession.read \
.format('jdbc') \
.option('url', 'jdbc:postgresql://<ip>:5432/<database>') \
.option('dbtable', 'mytable') \
.option('user', '<user>') \
.option('password', '<password>') \
.option('driver', 'org.postgresql.Driver') \
.load()
df.printSchema()
sparkSession.stop()
答案 0 :(得分:0)
解决方案是重新格式化对sparkSession.read的调用,如下所示:
sqlContext.read.format("jdbc")\
.options(driver="org.postgresql.Driver",
url="jdbc:postgresql://<ip>:<port>/<dbname>",
dbtable="tablename",
user="<user>",
password="<password").load()