Spark Jdbc 连接 JDBCOptions
Posted
技术标签:
【中文标题】Spark Jdbc 连接 JDBCOptions【英文标题】:Spark Jdbc connection JDBCOptions 【发布时间】:2018-02-26 20:52:03 【问题描述】:我正在尝试使用 Spark JdbcUtils 中的可保存方法
https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
该方法的定义如下。它接受 JDBCOptions 作为参数之一。
def saveTable(
df: DataFrame,
tableSchema: Option[StructType],
isCaseSensitive: Boolean,
options: JDBCOptions)
下面是JDBCOptions的类
https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCOptions.scala
当我使用 url、事务隔离级别等初始化 JDBCOptions 时,它会引发错误。
您能否提供有关初始化 JDBCOptions 的见解
val options :JDBCOptions = Map("url" -> "JDBCUrl")
Error Type Map doesnt conform to be JDBCOption Type
如何用正确的类型初始化?
【问题讨论】:
提供错误信息会有所帮助。 @AydinK。我不知道如何初始化它? 看看这里:docs.databricks.com/spark/latest/data-sources/… 或者在这里(“将 Jdbc 运行到其他数据库”一章):spark.apache.org/docs/latest/… @AydinK。我看着他们。他们正在使用选项,但我正在使用 JDBCOptions。两者都不一样。 【参考方案1】:您需要将地图包装在 new JDBCOptions(...)
调用中
// url and dbtable are required
val options:JDBCOptions = new JDBCOptions(Map("url" -> "JDBCUrl", "dbtable" -> "foo"))
【讨论】:
以上是关于Spark Jdbc 连接 JDBCOptions的主要内容,如果未能解决你的问题,请参考以下文章