如何找到 Spark 对数据帧写入方法的实现?



我正在使用下面的代码段将Spark数据帧写入Oracle数据库。它必须在数据帧的分区上迭代,并创建sql插入语句,在编写、创建连接等时将10k条语句分组为一批(。

myDF.write
.format("jdbc")
.option("url", jdbcUrl)
.option("dbtable", "my_schema.my_table")
.option("user", username)
.option("password", password)
.option("batchsize", 10000)
.mode(SaveMode.Overwrite)
.save()

如何找到正在执行此操作的代码?

如果我导航到写方法,然后我只看到下面-

/**
* Interface for saving the content of the non-streaming Dataset out into external storage.
*
* @group basic
* @since 1.6.0
*/
def write: DataFrameWriter[T] = {
if (isStreaming) {
logicalPlan.failAnalysis(
"'write' can not be called on streaming Dataset/DataFrame")
}
new DataFrameWriter[T](this)
}

我认为您应该看看JdbcRelationProvider的实现。你也可以在这里阅读。

最新更新