即使配置了EMR,也找不到Spark org.postgresql.Driver

我正在尝试使用以下代码将pyspark数据帧写入Postgres数据库:

mode = "overwrite"
url = "jdbc:postgresql://host/database"
properties = {"user": "user","password": "password","driver": "org.postgresql.Driver"}
dfTestWrite.write.jdbc(url=url,table="test_result",mode=mode,properties=properties)

但是我遇到以下错误:

An error occurred while calling o236.jdbc.
: java.lang.ClassnotFoundException: org.postgresql.Driver

我发现了一些SO类似的问题,但没有找到任何有帮助的问题。我遵循了AWS文档here来添加配置,并且从EMR控制台看来好像已经成功了:

即使配置了EMR,也找不到Spark org.postgresql.Driver

我在做什么错了?

kk771396 回答:即使配置了EMR,也找不到Spark org.postgresql.Driver

您遵循的文档是为Presto添加数据库连接器,而不是将jdbc驱动程序添加到spark中的方法。连接器并不意味着驱动程序。

您应该下载postgresql jdbc驱动程序并将其定位到spark lib目录或某个位置以通过配置引用它。

本文链接:https://www.f2er.com/3148747.html

大家都在问