Я использую приведенный ниже фрагмент для записи фрейма данных Spark в базу данных Oracle. Он должен выполнять итерацию по разделам фрейма данных и создавать sql операторы вставки, группируя 10k из них в один пакет во время записи, создавая соединение et c).
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)
}