啟動串流查詢的執行,隨著新資料的到來,持續將結果輸出到給定的資料表。 回傳一個 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")