toTable (DataStreamWriter)

开始执行流式处理查询,在新的数据到达时不断将结果输出到给定表。 返回 StreamingQuery 对象。

Syntax

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

参数

参数 类型 Description
tableName str 表格名称
format str,可选 用于保存的格式。
outputMode str,可选 将数据写入接收器的方式: appendcompleteupdate
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")