ストリーミング クエリの実行を開始し、新しいデータが到着すると、指定されたテーブルに継続的に結果を出力します。 StreamingQuery オブジェクトを返します。
構文
toTable(tableName, format=None, outputMode=None, partitionBy=None, queryName=None, **options)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
tableName |
str | テーブルの名前。 |
format |
str、省略可能 | 保存に使用する形式。 |
outputMode |
str、省略可能 | シンクにデータを書き込む方法: append、 complete、または update。 |
partitionBy |
str または list、省略可能 | パーティション分割列の名前。 既に存在する v2 テーブルの場合は無視されます。 |
queryName |
str、省略可能 | クエリの一意の名前。 |
**options |
その他のすべての文字列オプション。 ほとんどのストリームに checkpointLocation を指定します。 |
返品
StreamingQuery
メモ
v1 テーブルの場合、 partitionBy 列は常に考慮されます。 v2 テーブルの場合、 partitionBy はテーブルがまだ存在しない場合にのみ考慮されます。
例示
データ ストリームをテーブルに保存します。
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")