insertInto

Вставляет содержимое указанной DataFrame таблицы. Требует, чтобы схема была той же, что и схема DataFrame таблицы.

Синтаксис

insertInto(tableName, overwrite=None)

Параметры

Параметр Тип Описание
tableName str Имя целевой таблицы.
overwrite bool, необязательный Если True, перезаписывает существующие данные. Выключено по умолчанию.

Возвраты

Нет

Примечания

В отличие от DataFrameWriter.saveAsTableтого, DataFrameWriter.insertInto игнорирует имена столбцов и использует разрешение на основе позиций.

Примеры

Вставьте данные в таблицу с помощью разрешения на основе позиций, игнорируя имена столбцов.

spark.sql("DROP TABLE IF EXISTS tblA")
df = spark.createDataFrame([
    (100, "Alice"), (120, "Alice"), (140, "Bob")],
    schema=["age", "name"]
)
df.write.saveAsTable("tblA")

df.selectExpr("age AS col1", "name AS col2").write.insertInto("tblA")
spark.read.table("tblA").sort("age").show()
# +---+------------+
# |age|        name|
# +---+------------+
# |100|Alice|
# |100|Alice|
# |120|Alice|
# |120|Alice|
# |140| Bob|
# |140| Bob|
# +---+------------+

spark.sql("DROP TABLE tblA")