Skip to Content
Kafka权威指南(第2版)
book

Kafka权威指南(第2版)

by Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty
November 2022
Beginner to intermediate
346 pages
11h
Chinese
Posts & Telecom Press
Content preview from Kafka权威指南(第2版)
298
14
➌
在确保有了正确的分区并定义好时间窗口之后,开始聚合操作。
aggregate
方法会将事
件流拆分成相互叠加的时间窗口(每秒出现一个
5
的时间窗口),然后将聚合方法应
用在时间窗口内的所有事件上。这个方法的第一个参数是一个新对象,用于存放聚合结
果,在这个例子中是
TradeStats
。我们用这个对象存放每个时间窗口的统计信息,包括
最低价格、平均价格和交易数量。
➍
我们提供了一个方法对记录进行聚合,这里,
TradeStats
add
方法用于更新时间窗口
内的最低价格、交易数量和总价。
➎
14.3
节曾经讲过,基于时间窗口的聚合需要用到保存在本地存储中的状态。聚合方法的
最后一个参数就是本地状态存储的配置信息。
Materialized
是本地存储配置对象,它的
名字是
trade-aggregates
,也可以是任意具有唯一性的名字。
➏
作为状态存储配置的一部分,我们还提供了
Serde
对象,用于序列化和反序列化聚合结
果(
TradeStats
对象)。
➐
聚合结果是一张
,包含了股票行情,并使用时间窗口作为键、聚合结果作为值。我们
将表转成事件流。
➑
更新平均价格。现在,聚合结果中包含了总价和交易数量。接下来遍历所有的记录,并
使用现有的统计信息计算出平均价格,然后把它写到输出流里。
➒
最后,将结果写到
stockstats-output
流里。因为结果是窗口操作的一部分,所以我们
创建了一个
WindowedSerde
对象,将结果保存成窗口数据格式,其中包含了窗口时间
戳。窗口大小会作为
Serde ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

时间序列分析实战:基于机器学习和统计学

时间序列分析实战:基于机器学习和统计学

Aileen Nielsen
Spark机器学习实战

Spark机器学习实战

Posts & Telecom Press, Siamak Amirghodsi, Meenakshi Rajendran, Broderick Hall, Shuen Mei
写给系统管理员的Python脚本编程指南

写给系统管理员的Python脚本编程指南

Posts & Telecom Press, Ganesh Sanjiv Naik
Kubernetes编程

Kubernetes编程

Michael Hausenblas, Stefan Schimanski

Publisher Resources

ISBN: 9787115601421