Condividi tramite


saveAsTable

Salva il contenuto di DataFrame come tabella specificata. Se la tabella esiste già, il comportamento dipende dal mode parametro (il valore predefinito consiste nel generare un'eccezione). Quando mode è 'overwrite', lo schema di DataFrame non deve corrispondere allo schema di tabella esistente.

Sintassi

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

Parametri

Parametro Tipo Descrizione
name str Nome della tabella.
format str, facoltativo Formato utilizzato per salvare.
mode str, facoltativo Comportamento quando i dati esistono già. I valori accettati sono 'append', 'overwrite''error' o 'errorifexists' (impostazione predefinita) e 'ignore'.
partitionBy str o list, facoltativo Nomi delle colonne di partizionamento.
**options dizionario Opzioni di stringa aggiuntive.

Restituzioni

Nessuno

Note

Se mode è 'append', se esiste già una tabella, vengono utilizzate le relative opzioni e formato. A differenza di DataFrameWriter.insertInto, DataFrameWriter.saveAsTable usa i nomi delle colonne per trovare le posizioni di colonna corrette.

Examples

Creare una tabella da un dataframe e leggerla di nuovo.

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