Aller au contenu principal

saveAsTable

Enregistre le contenu du DataFrame en tant que table spécifiée. Si la table existe déjà, le comportement dépend du paramètre mode (la default est de lever une exception). Lorsque mode est 'overwrite', le schéma du DataFrame n'a pas besoin de correspondre au schéma de table existant.

Syntaxe

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

parameter

parameter

Type

Description

name

str

Le nom de la table.

format

str, facultatif

Le format utilisé pour enregistrer.

mode

str, facultatif

Le comportement lorsque des données existent déjà. Les valeurs acceptées sont 'append', 'overwrite', 'error' ou 'errorifexists' (default), et 'ignore'.

partitionBy

chaîne ou liste, facultatif

Noms des colonnes de partitionnement.

**options

dict

Options de chaîne supplémentaires.

parameter

Type

Description

name

str

Le nom de la table.

format

str, facultatif

Le format utilisé pour enregistrer.

mode

str, facultatif

Le comportement lorsque des données existent déjà. Les valeurs acceptées sont 'append', 'overwrite', 'error' ou 'errorifexists' (default), et 'ignore'.

partitionBy

chaîne ou liste, facultatif

Noms des colonnes de partitionnement.

**options

dict

Options de chaîne supplémentaires.

Renvoie

Aucun

Notes

Lorsque mode est 'append', si une table existe déjà, son format et ses options sont utilisés. Contrairement à DataFrameWriter.insertInto, DataFrameWriter.saveAsTable utilise les noms de colonne pour trouver les positions de colonne correctes.

Exemples

Créer une table à partir d'un DataFrame, et la relire.

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