【问题标题】:Can't access JDBC driver through spark with AWS EMR instance无法通过带有 AWS EMR 实例的 spark 访问 JDBC 驱动程序
【发布时间】:2016-07-30 16:49:04
【问题描述】:

在我通过 ssh 进入 EMR spark-shell --packages org.postgresql:postgresql:9.4-1206-jdbc42 后运行 spark-shell 时,我已经安装了 postgresql 驱动程序包。然后我导入 org.postgresql。我想创建一个 spark Dataframe 对象,所以我尝试从 s3 实例访问一个表。

sqlContext.load("jdbc", Map("url" -> "jdbc:postgresql://pathto.table.region.rds.amazonaws.com:5432/table?user=username&password=password","dbtable" -> "table"))

这给了我一个java.sql.SQLException: No suitable driver 错误。

我已经调查了this 的问题,有类似的问题。但我希望能够通过 spark-shell 运行驱动程序。

【问题讨论】:

    标签: java postgresql amazon-web-services jdbc apache-spark


    【解决方案1】:

    如果我没记错的话(抱歉,我现在没有计算机来测试它)您需要在选项映射中明确设置驱动程序类。

    sqlContext.load("jdbc", 
             Map("driver" -> "org.postgresql.Driver", 
                 "url" -> "jdbc:postgresql://pathto.table.region.rds.amazonaws.com:5432/table?user=username&password=password",
                 "dbtable" -> "table"))
    

    PS:我正在手机上写这个答案,请原谅最终的拼写错误。但我认为你明白了。

    【讨论】:

    • 是的,谢谢,我试过了,我的 jdbc java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0 版本似乎有问题
    • 好的,这是另一个问题。检查您的依赖项、spark 和安装在 emr 上的 java 版本
    猜你喜欢
    • 2015-03-23
    • 2012-08-27
    • 1970-01-01
    • 2015-12-21
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2018-07-27
    相关资源
    最近更新 更多