Kafka Stream

本文深入探讨了流处理技术的核心概念,包括时间上连续且无界的数据流(stream)处理方式、窗口(window)机制、不同时间类型(eventtime、processingtime、ingestiontime)的应用场景,以及状态(state)管理和几种窗口类型(hoppingtimewindows、tumblingtimewindows、slidingwindows)的特点。同时,文章还介绍了KStream和KTable的概念及它们之间的连接(join)操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

stream:时间上连续、有序的、无界的数据流

stream 独立的处理
stream 做聚合/join(一段时间或者两个stream之间)

时间上连续、无界的数据集映射为有界的数据集,这种情况就叫做window

stream可以做增量操作
存储中间状态 localstate / state store

几种时间类型
event time 消息创建时间,processing time 消息处理的时间, ingestion time 消息进入kafka的时间
可以选一种时间类型,作为window的计算标准

state
in-memory state store/persistent state store
change log 存放

windows
hopping time windows (advance interval 统计的间隔时间,一条消息可能会被多次处理,比如计算每个1秒,输出过去5秒的数据)
tumbling time windows 没有交集,一次都是统计完一个区间,下次再统计完整的区间,没法做到实时刷新
sliding windows 只用于join操作

KStream 数据流,每条数据映射为一条新的记录
KTable change log 流,将相同的key,更新到同一条记录中

Join
KStream-KStream Join结果为KStream
KStream-KTable Join结果为KStream,KStream变化会增加结果,KTable更新数据也会影响结果,但是不会增加记录
KTable-KTable Join 相当于关系型的Join,结果为KTable

Stream API


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值