Freigeben über


saveAsTable

Speichert den Inhalt der DataFrame angegebenen Tabelle. Wenn die Tabelle bereits vorhanden ist, hängt das Verhalten vom Parameter ab mode (standardmäßig wird eine Ausnahme ausgelöst). Ist mode dies 'overwrite'der Fall, muss das Schema des DataFrame vorhandenen Tabellenschemas nicht übereinstimmen.

Syntax

saveAsTable(name, format=None, mode=None, partitionBy=None, **options)

Parameter

Parameter Typ Beschreibung
name str Der Tabellenname.
format str, optional Das format, das zum Speichern verwendet wird.
mode str, optional Das Verhalten, wenn Daten bereits vorhanden sind. Akzeptierte Werte sind 'append', 'overwrite'oder 'error''errorifexists' (Standard) und 'ignore'.
partitionBy str oder list, optional Namen der Partitionierungsspalten.
**options Wörterbuch Zusätzliche Zeichenfolgenoptionen.

Rückkehr

Nichts

Hinweise

Wenn mode eine Tabelle bereits vorhanden ist 'append', werden das Format und die Optionen verwendet. Im Gegensatz dazu DataFrameWriter.insertIntowerden Spaltennamen verwendet, DataFrameWriter.saveAsTable um die richtigen Spaltenpositionen zu finden.

Beispiele

Erstellen Sie eine Tabelle aus einem DataFrame, und lesen Sie sie zurück.

spark.sql("DROP TABLE IF EXISTS tblA")
spark.createDataFrame([
    (100, "Alice"), (120, "Bob"), (140, "Tom")],
    schema=["age", "name"]
).write.saveAsTable("tblA")

spark.read.table("tblA").sort("age").show()
# +---+------------+
# |age|        name|
# +---+------------+
# |100|Alice|
# |120|Bob|
# |140| Tom|
# +---+------------+

spark.sql("DROP TABLE tblA")