Kafka Stream

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


 


Kafka Stream是一个用于处理实时数据流的库。它可以从Kafka数据源中读取数据,并进行流式计算和处理Kafka Stream的架构包括以下几个部分:整体架构、Processor Topology、并行模型、KTable和KStream、以及状态存储。整体架构描述了Kafka Stream的工作原理和组件之间的关系。Processor Topology定义了数据流的处理逻辑和操作流程。并行模型允许Kafka Stream根据需要调整并行度,以适应不同的处理需求。KTable和KStreamKafka Stream中两个重要的数据结构,分别用于表示实时数据流和实时表。状态存储用于存储和管理处理过程中产生的中间状态和结果。 Kafka Stream解决了流式系统中的几个关键问题:时间、窗口、Join、聚合与乱序处理以及容错。通过对时间的处理Kafka Stream可以支持实时数据处理和窗口计算。窗口可以用来对数据进行分组和聚合。Kafka Stream还支持对不同数据流进行Join操作,并处理数据流中的乱序问题。同时,Kafka Stream具备容错能力,可以在发生故障时进行恢复和重试。 总体来说,Kafka Stream是一个强大的工具,可以实现实时数据处理和计算。它的灵活架构、丰富的功能和可靠的容错机制使得它在流式系统中广泛应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Kafka Stream](https://blog.youkuaiyun.com/zmzdmx/article/details/111301707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值