首页/数据/数仓建模速查/Structured Streaming:微批与输出模式
湖仓与引擎63 条

Structured Streaming:微批与输出模式

Structured Streaming 以微批或连续模式处理流数据,输出模式 append/update/complete 决定结果写入语义,配合 watermark 处理迟到数据。

数仓建模速查数据更新于 2026-10-12
模式append/update/complete
触发微批/连续
迟到watermark
落点文件/表/forEachBatch

微批写入

微批写入
q = (spark.readStream.format('kafka')
     .option('kafka.bootstrap.servers','broker:9092')
     .option('subscribe','trade_events')
     .load()
     .writeStream.format('parquet')
     .option('checkpointLocation','/ck/stream_trade')
     .option('path','/warehouse/stream/trade')
     .trigger(processingTime='1 minute')
     .start())
没有 checkpointLocation 的流任务无法恢复进度,重启会重复消费。

易错点

  • 流任务未设置检查点目录,重启后数据重复

数据来源与参考

  • Apache Spark 官方文档:Structured Streaming
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌