指定したテーブルに 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")