gpt4 book ai didi

apache-spark - 在 Spark SQL 中使用 Presto JDBC 时无法识别的连接属性 'url'

转载 作者:行者123 更新时间:2023-12-05 02:39:40 26 4
gpt4 key购买 nike

这是我的 spark sql 代码,我试图在其中根据本指南读取一个 presto 表; https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html

 val df = spark.read
.format("jdbc")
.option("driver", "com.facebook.presto.jdbc.PrestoDriver")
.option("url", "jdbc:presto://localhost:8889/mycatalog")
.option("query", "select * from mydb.mytable limit 1")
.option("user", "myuserid")
.load()

我收到以下异常,unrecognized connection property 'url'

Exception in thread "main" java.sql.SQLException: Unrecognized connection property 'url'
at com.facebook.presto.jdbc.PrestoDriverUri.validateConnectionProperties(PrestoDriverUri.java:345)
at com.facebook.presto.jdbc.PrestoDriverUri.<init>(PrestoDriverUri.java:102)
at com.facebook.presto.jdbc.PrestoDriverUri.<init>(PrestoDriverUri.java:92)
at com.facebook.presto.jdbc.PrestoDriver.connect(PrestoDriver.java:87)
at org.apache.spark.sql.execution.datasources.jdbc.connection.BasicConnectionProvider.getConnection(BasicConnectionProvider.scala:49)
at org.apache.spark.sql.execution.datasources.jdbc.connection.ConnectionProvider$.create(ConnectionProvider.scala:68)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.$anonfun$createConnectionFactory$1(JdbcUtils.scala:62)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:56)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation$.getSchema(JDBCRelation.scala:226)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:35)
at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:354)
at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:326)
at org.apache.spark.sql.DataFrameReader.$anonfun$load$3(DataFrameReader.scala:308)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:308)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:226)
at org.apache.spark.sql.DataFrameReader.jdbc(DataFrameReader.scala:341)

这个问题似乎与 https://github.com/prestodb/presto/issues/9254  有关属性 url 在 Presto 中不是可识别的属性,看起来需要在 Spark 端进行修复?此问题是否有任何其他解决方法?

附言:

Spark Version: 3.1.1
presto-jdbc version: 0.245

最佳答案

spark 或 presto 没有问题 JDBC driver .我认为您指定的 URL 不起作用。

您应该将其更改为以下格式。

jdbc:presto://localhost:8889/mycatalog

更新

不确定它如何与 spark 版本 < 3 一起使用。作为解决方法,您可以使用 another jar严格的配置检查已按照指定删除 here .

关于apache-spark - 在 Spark SQL 中使用 Presto JDBC 时无法识别的连接属性 'url',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68989208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com