Freigeben über


insertInto

Fügt den Inhalt der DataFrame Tabelle in die angegebene Tabelle ein. Erfordert, dass das Schema der DataFrame Tabelle mit dem Schema der Tabelle identisch ist.

Syntax

insertInto(tableName, overwrite=None)

Parameter

Parameter Typ Beschreibung
tableName str Der Name der Zieltabelle.
overwrite bool, optional Wenn True, überschreibt vorhandene Daten. Standardmäßig deaktiviert.

Rückkehr

Nichts

Hinweise

Im Gegensatz dazu DataFrameWriter.saveAsTableDataFrameWriter.insertInto werden Spaltennamen ignoriert und positionsbasierte Auflösung verwendet.

Beispiele

Fügen Sie Daten mithilfe der positionsbasierten Auflösung in eine Tabelle ein, wobei Spaltennamen ignoriert werden.

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")