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