스트리밍 쿼리 실행을 시작하여 새 데이터가 도착할 때 지속적으로 결과를 지정된 테이블에 출력합니다. 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 |
다른 모든 문자열 옵션입니다. 대부분의 스트림에 대한 A checkpointLocation 를 제공합니다. |
Returns
StreamingQuery
Notes
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")