toTable (DataStreamWriter)

Inicia la ejecución de la consulta de streaming y genera continuamente resultados en la tabla dada a medida que llegan nuevos datos. Devuelve un objeto StreamingQuery.

Sintaxis

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

Parámetros

Parámetro Tipo Descripción
tableName str Nombre de la tabla.
format str, opcional Formato que se usa para guardar.
outputMode str, opcional Cómo se escriben los datos en el receptor: append, completeo update.
partitionBy str o list, opcional Nombres de columnas de creación de particiones. Se omite para las tablas v2 que ya existen.
queryName str, opcional Nombre único de la consulta.
**options
Todas las demás opciones de cadena. Proporcione un checkpointLocation para la mayoría de las secuencias.

Devoluciones

StreamingQuery

Notas

Para las tablas v1, partitionBy siempre se respetan las columnas. Para las tablas v2, partitionBy solo se respeta si la tabla aún no existe.

Ejemplos

Guarde un flujo de datos en una tabla:

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