StructuredStreaming编程模型
StructuredStreaming编程模型
基本概念
◆ Time
◆ Trigger
◆ Input
◆ Query
◆ Result
◆ Output
案例模型:实时处理流单词统计编程模型
处理Event-time(事件时间)和 Late Data (延迟数据)
◆ Event-time : 事件时间
◆ Late Data : 延迟数据
容错语义
传递端到端一次语义是结构化流设计背后的关键目标之一。为了实现这一点,
我们设计了结构化流源(Structed Streaming Source)、接收器(Skin)和执行引擎
(execution engine)来进行可靠跟踪和精确进度处理,从而可以通过重新启动或再
处理来处理任何类型的故障。假设每个流Source具有偏移(类似于Kafka偏移或
动态序列号)来跟踪流中的读取位置。引擎使用检查点和写前日志来记录每个
触发器中正在处理的数据的偏移范围。流接收器Skin被设计为用于处理再处理
的幂等。在任何失败的情况下,同时使用可重复的Source和幂等Skin,结构化
流可以保证端到端完全一致的语义。