【问题标题】:Spark : java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/postgresSpark:java.sql.SQLException:找不到适合 jdbc:postgresql://localhost/postgres 的驱动程序
【发布时间】:2018-11-30 01:53:18
【问题描述】:

在我的 spark 应用程序中,我正在尝试使用以下行连接到本地 Postgres 数据库:

val conn = DriverManager.getConnection("jdbc:postgresql://localhost/postgres", "postgres", "*Qwerty#")

Postgres 服务器在端口 5432(默认)上运行。我也尝试过包括端口。 我也尝试过Class.forName("org.postgresql.Driver"),但它会抛出 ClassNotFoundException。我已确定驱动程序在 ClassPath 中。

我在本地模式下运行 spark。

但我遇到了上述异常。

我已经通过sbt 包含了 jdbc 驱动程序,如下所述: https://mvnrepository.com/artifact/org.postgresql/postgresql/42.2.2

【问题讨论】:

    标签: postgresql apache-spark jdbc


    【解决方案1】:

    你也可以试试这个代码:

    属性 dbProperties = new Properties();

    dbProperties.put("driver", "org.postgresql.Driver");

    dbProperties.put("user", "postgres");

    dbProperties.put("密码", "*Qwerty#");

    val conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgresDB",dbProperties);

    【讨论】:

      【解决方案2】:

      所以问题是执行程序无法访问驱动程序 jar。

      所以使用 spark.jars 配置属性传递驱动程序 jar 解决了它。

      在 spark 文档中 here:

      要包含在驱动程序和执行程序中的 jar 的逗号分隔列表 类路径。允许使用 Glob。

      【讨论】:

      • 您能详细说明一下吗?哪些罐子?你到底是怎么添加它们的?
      猜你喜欢
      • 2021-12-05
      • 2022-09-26
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-25
      相关资源
      最近更新 更多