Как найти реализацию метода записи Dataframe в Spark? - PullRequest
0 голосов
/ 05 мая 2020

Я использую приведенный ниже фрагмент для записи фрейма данных 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)
  }

1 Ответ

1 голос
/ 05 мая 2020

Думаю, вам стоит посмотреть на реализацию JdbcRelationProvider . Также вы можете прочитать об этом здесь .

...