You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark连接本地PostgreSQL数据库报错:驱动类未找到

问题分析与解决方案

出现java.lang.ClassNotFoundException: org.postgresql.Driver错误,大概率是Jar包路径配置错误,或是Jar包本身存在问题,以下是具体解决方案:

1. 校验Jar包路径的准确性

  • 确保代码中spark.jars配置的是完整绝对路径,替换掉路径中的...,比如写成C:/Users/YourActualUsername/Documents/HWH/projecten/spark/postgresql-42.5.0.jar
  • 检查该路径下是否确实存在这个Jar包,文件名(包括版本号)是否完全匹配,避免拼写错误
  • 如果路径中包含空格,需要用双引号包裹路径,比如:"C:/Users/Your Name/Documents/.../postgresql-42.5.0.jar"

2. 确认Jar包与环境的兼容性

  • PostgreSQL JDBC Jar包的版本需要和Spark运行的Java版本匹配:postgresql-42.5.0要求Java 8及以上版本,可通过命令行执行java -version查看当前Java版本,若不兼容,更换对应版本的Jar包(比如Java 7可选用postgresql-42.2.23及以下版本)
  • 验证Jar包完整性:用解压工具打开Jar包,确认org/postgresql/Driver.class文件存在,若不存在则重新下载官方Jar包

3. 改用启动参数加载Jar包

直接在启动PySpark时通过--jars参数指定Jar包路径,避免代码配置的问题:

pyspark --jars C:/Users/YourActualUsername/Documents/HWH/projecten/spark/postgresql-42.5.0.jar

启动后再执行你的Spark代码即可。

4. 放入Spark默认Jar目录

将postgresql Jar包复制到Spark安装目录下的jars文件夹(比如spark-3.3.0/jars/),Spark启动时会自动加载该目录下的所有Jar包,无需在代码中配置spark.jars参数。

5. 确认Driver类名正确性

postgresql JDBC驱动的类名统一为org.postgresql.Driver,无需修改,若Jar包正确,该类名不会出错。

内容的提问来源于stack exchange,提问作者Herwini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:25:47