我正在尝试使用以下代码将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控制台看来好像已经成功了:
我在做什么错了?
答案 0 :(得分:0)
您遵循的文档是为Presto添加数据库连接器,而不是将jdbc驱动程序添加到spark中的方法。连接器并不意味着驱动程序。
您应该下载postgresql jdbc驱动程序并将其定位到spark lib目录或某个位置以通过配置引用它。