Spark Jdbc 连接 JDBCOptions

Spark Jdbc connection JDBCOptions

我正在尝试使用 Spark JdbcUtils 中的方法 savetable

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

的 class

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

如何使用正确的类型进行初始化?

您需要将地图包装在 new JDBCOptions(...) 调用中

// url and dbtable are required
val options:JDBCOptions = new JDBCOptions(Map("url" -> "JDBCUrl", "dbtable" -> "foo"))