toTable (DataStreamWriter)

Spustí spuštění streamovacího dotazu a průběžně vypíše výsledky do dané tabulky, jakmile dorazí nová data. Vrátí objekt StreamingQuery.

Syntaxe

toTable(tableName, format=None, outputMode=None, partitionBy=None, queryName=None, **options)

Parametry

Parameter Typ Description
tableName str Název tabulky.
format str, volitelné Formát použitý k uložení.
outputMode str, volitelné Způsob zápisu dat do jímky: append, completenebo update.
partitionBy str nebo list, volitelné Názvy sloupců dělení Ignorováno pro tabulky v2, které již existují.
queryName str, volitelné Jedinečný název dotazu.
**options
Všechny ostatní možnosti řetězce. checkpointLocation Poskytnout pro většinu datových proudů.

Návraty

StreamingQuery

Poznámky

U tabulek partitionBy v1 se sloupce vždy respektují. U tabulek v2 se respektuje pouze v případě, partitionBy že tabulka ještě neexistuje.

Příklady

Uložení datového streamu do tabulky:

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