Condividi tramite


Insertinto

Inserisce il contenuto di DataFrame nella tabella specificata. Richiede che lo schema di DataFrame sia uguale allo schema della tabella.

Sintassi

insertInto(tableName, overwrite=None)

Parametri

Parametro Tipo Descrizione
tableName str Nome della tabella di destinazione.
overwrite bool, facoltativo Se True, sovrascrive i dati esistenti. Disabilitato per impostazione predefinita.

Restituzioni

Nessuno

Note

A differenza di DataFrameWriter.saveAsTable, DataFrameWriter.insertInto ignora i nomi delle colonne e usa la risoluzione basata sulla posizione.

Examples

Inserire dati in una tabella usando la risoluzione basata sulla posizione, ignorando i nomi delle colonne.

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