toTable(DataStreamWriter)

啟動串流查詢的執行,隨著新資料的到來,持續將結果輸出到給定的資料表。 回傳一個 StreamingQuery 物件。

語法

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

參數

參數 類型 說明
tableName str 數據表的名稱。
format 力量,選用 過去的格式是用來儲存的。
outputMode 力量,選用 資料如何寫入匯流: append、、 complete或 update。
partitionBy 力量或列表,選擇性 分割欄位名稱。 對於已經存在的 v2 表格則被忽略。
queryName 力量,選用 查詢名稱獨特。
**options
其他所有弦線選項。 大多數串流都提供 A checkpointLocation 。

退貨

StreamingQuery

Notes

對於 v1 表格, partitionBy 欄位總是被尊重。 對於 v2 表格, partitionBy 只有當該表格尚未存在時才會被尊重。

Examples

將資料串流儲存到資料表:

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