將 DataFrame 的內容插入指定的表格中。 要求 的 DataFrame 結構與資料表的結構相同。
語法
insertInto(tableName, overwrite=None)
參數
| 參數 | 類型 | 說明 |
|---|---|---|
tableName |
str | 目標資料表的名稱。 |
overwrite |
Bool,選用 | 如果 True,則會覆寫現有資料。 預設為停用。 |
退貨
沒有
Notes
與 DataFrameWriter.saveAsTable不同, DataFrameWriter.insertInto 忽略欄位名稱,採用基於位置的解析度。
Examples
以位置為基礎的解析度將資料插入資料表,忽略欄位名稱。
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")