Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Avvia l'esecuzione della query di streaming e restituisce continuamente i risultati alla tabella specificata man mano che arrivano nuovi dati. Restituisce un oggetto StreamingQuery.
Sintassi
toTable(tableName, format=None, outputMode=None, partitionBy=None, queryName=None, **options)
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
tableName |
str | Nome della tabella. |
format |
str, facoltativo | Formato utilizzato per salvare. |
outputMode |
str, facoltativo | Modalità di scrittura dei dati nel sink: append, completeo update. |
partitionBy |
str o list, facoltativo | Nomi delle colonne di partizionamento. Ignorato per le tabelle v2 già esistenti. |
queryName |
str, facoltativo | Nome univoco per la query. |
**options |
Tutte le altre opzioni stringa. Fornire un oggetto checkpointLocation per la maggior parte dei flussi. |
Restituzioni
StreamingQuery
Note
Per le tabelle v1, partitionBy le colonne vengono sempre rispettate. Per le tabelle v2, partitionBy viene rispettato solo se la tabella non esiste ancora.
Examples
Salvare un flusso di dati in una tabella:
import tempfile
import time
_ = spark.sql("DROP TABLE IF EXISTS my_table2")
with tempfile.TemporaryDirectory(prefix="toTable") as d:
q = spark.readStream.format("rate").option(
"rowsPerSecond", 10).load().writeStream.toTable(
"my_table2",
queryName='that_query',
outputMode="append",
format='parquet',
checkpointLocation=d)
time.sleep(3)
q.stop()
spark.read.table("my_table2").show()
_ = spark.sql("DROP TABLE my_table2")