首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spark中使用Presto时无法识别的连接属性“url”

在Spark中使用Presto时无法识别的连接属性“url”
EN

Stack Overflow用户
提问于 2021-08-30 19:10:25
回答 3查看 2K关注 0票数 3

下面是我的星星之火sql代码,在这里,我试图根据本指南读取一个预置表;https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html

代码语言:javascript
复制
 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'

代码语言:javascript
复制
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上完成吗?对于这个问题还有什么其他的解决办法吗?

PS:

代码语言:javascript
复制
Spark Version: 3.1.1
presto-jdbc version: 0.245 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-08-30 20:46:15

火花或预售JDBC驱动程序没有问题。我不认为你指定的URL会起作用。

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

代码语言:javascript
复制
jdbc:presto://localhost:8889/mycatalog

更新

不确定它是如何工作的火花版本< 3。作为一个解决办法,您可以使用另一个罐子,其中严格的配置检查已删除为指定的这里

票数 2
EN

Stack Overflow用户

发布于 2021-10-01 13:39:15

看上去像是火花塞修复了3.3

https://issues.apache.org/jira/browse/SPARK-36163

票数 2
EN

Stack Overflow用户

发布于 2022-08-09 04:05:01

@odonnry是正确的,这个问题是在Spark3.3.x中解决的,但是如果有人不能升级到Spark3.3.x,并且正在尝试使用Trino,我根据@Mohana链接的Jira问题创建了一个解决方案

https://github.com/amitferman/trino

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68989208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档