แแแแแแฌแแ แ. 5.3. แแแ แแแแชแแแกแ แแ แคแแแฏแ แแแแก แแแแ แแชแแแแ
แแ แแแแงแแคแแแแแแจแ แฉแแแ แแแแแแแแ แแแคแแแก แแแแแแแแแก แงแแแแแแ แแแ แกแแแฅแขแแฃแแ แแแฌแแแแแแก แจแแกแฌแแแแแแ. แแฅแแแแ แฉแแแ แแแแแจแฃแฅแแ แแแคแแแก แแแแแแแแแก แจแแแแแแ แแกแแแฅแขแแแ:
- แแแแฃแจแแแแแแก แขแแแแแแแแแก แจแแฅแแแ;
- แแแแแแแ แแแแแก แแแแแงแแแแแ แกแขแ แแแแแ แแแแแแแชแแแแจแ;
- แแแแแชแแแแ แแแแแแแก แแแแจแแ แแแแก แจแแกแ แฃแแแแ;
- แแแแกแฎแแแแแแแแ แแแแแแแแก แแแแแแแแก (KStream) แแ แแแแแฎแแแแแก แแแแแแแแก แจแแ แแก (KTable).
แจแแแแแ แแแแแแแแแแจแ แฉแแแ แแแแแแ แแแแแแแ แงแแแแ แแ แแแแแแแขแก. แแฅแแแ แแกแแแ แจแแแขแงแแแ windowing-แแก, แกแขแ แแแแแแแก แแแแแแแชแแแแแก แแแแแ แแ แแ แจแแกแแแแจแแแแ แแแแกแแแแก แจแแกแแฎแแ. แฉแแแแ แแแ แแแแ แแแแแแแแ แแฅแแแแ แแแ แขแแแ แแแ แแแแชแแ.
5.3.1. แแฅแชแแแแแก แแแงแแแแแแแก แแแ แแแแชแแ แแ แแฌแแแแแแแก แกแแฅแขแแ แแก แแแฎแแแแแ
แแแ แแแแชแแ แแ แแแฏแแฃแคแแแ แกแแกแแชแแชแฎแแ แแแกแขแ แฃแแแแขแแแแ แกแขแ แแแแแแแก แแแแแชแแแแแแแ แแฃแจแแแแแกแแก. แแแแแแแแฃแแแฃแ แ แฉแแแแฌแแ แแแแก แจแแกแฌแแแแ แแแแ แแแฆแแแแกแแก แฎแจแแ แแ แแ แแกแแแแแ แแกแแ. แแแแแชแแแแแแแแ แแแแแขแแแแแ แแแคแแ แแแชแแแก แแแแกแแฆแแแแ แแฃแชแแแแแแแแ แแแแ แแแฏแแฃแคแแแ แแ แแแแ แแแแแแแ.
แแ แแแแแแแแจแ แแฅแแแ แฉแแแชแแแแ แแฆแแก แขแ แแแแแ แแก แแแกแขแฃแแก, แ แแแแแแช แฃแแแ แแแแแขแ แแแแก แ แแแแแแแแ แแแแฃแกแขแ แแแก แแแแแแแแแแแก แแฅแชแแแแแก แแแงแแแแแแแก แแแชแฃแแแแ. แแแแแ แแขแฃแแแ, แแฅแแแ แแแแแขแแ แแกแแแ แฎแฃแแ แแแแแแแแ, แ แแแแแแกแแช แแฅแแ แงแแแแแแ แแแแ แฌแแแแก แแแงแแแแแแ แแแแแแฃแ แแแแฃแกแขแ แแแจแ.
แแกแแแ แแแ แแแแชแแ แแแกแญแแ แแแแ แ แแแแแแแแ แแแแแฏแก, แ แแแ แแแฎแแแก แแแแแชแแแแแแก แกแแกแฃแ แแแ แคแแ แแแจแ แแแแแงแแแแ (แแแแแแแ แกแแฃแแ แแกแแก).
- แจแแฅแแแแแ แแแแแแ แแแคแฃแซแแแแฃแแ แฌแงแแ แ, แ แแแแแแช แแฅแแแงแแแแก แกแแคแแแแ แแแญแ แแแแก แแแแแแฃแ แแแคแแ แแแชแแแก. แฉแแแ แแแแแแฌแแแก StockTransaction แขแแแแก แแแแแฅแขแแก แ แฃแแ ShareVolume แขแแแแก แแแแแฅแขแแ. แกแแฅแแ แแแแจแแ, แ แแ StockTransaction แแแแแฅแขแ แจแแแชแแแก แแแงแแแแแแแก แแแขแแแแแแชแแแแแก, แแแแ แแ แฉแแแ แแแญแแ แแแแ แแฎแแแแ แแแแแชแแแแแ แแแงแแแฃแแ แแฅแชแแแแแก แ แแแแแแแแแก แจแแกแแฎแแ.
- แแแแฏแแฃแคแแ ShareVolume แแแแแชแแแแแ แกแแคแแแแ แกแแแแแแแแแแก แแแฎแแแแแ. แกแแแแแแแแแแก แแแฎแแแแแ แแแฏแแฃแคแแแแก แจแแแแแ, แจแแแแซแแแแ แแก แแแแแชแแแแแ แฉแแจแแแแ แแฅแชแแแแแก แแแงแแแแแแแก แแแชแฃแแแแแก แฅแแแฏแแแแแแ. แแฆแกแแแแจแแแแแ, แ แแ KStream.groupBy แแแแแแ แแแ แฃแแแแก KGroupedStream แขแแแแก แแแแแแแแแ แก. แแ แแฅแแแ แจแแแแซแแแแ แแแแฆแแ KTable แแแกแขแแแชแแ KGroupedStream.reduce แแแแแแแก แจแแแแแแแ แแแแแซแแฎแแแแ.
แ แ แแ แแก KGroupedStream แแแขแแ แคแแแกแ
KStream.groupBy แแ KStream.groupByKey แแแแแแแแ แแแ แฃแแแแก KGroupedStream-แแก แแแแแแแแก. KGroupedStream แแ แแก แแแแแแแแแแก แแแแแแแก แจแฃแแแแแฃแ แ แฌแแ แแแแแแแ แแแกแแฆแแแแแแก แแแฎแแแแแ แแแฏแแฃแคแแแแก แจแแแแแ. แแก แกแแแ แแแ แแ แแ แแก แแแแแฃแแแแแแ แแแกแแแ แฃแจแฃแแแ แแฃแจแแแแแกแแแแก. แแแแก แแแชแแแแ, KGroupedStream แแแแแแงแแแแแ แแแ แแแแชแแแก แแแแ แแชแแแแแกแแแแก, แ แแช แงแแแแแแแแก แแฌแแแแก KTable-แก. แแ แ แแแแแ แแแ แแแแชแแแก แแแแ แแชแแแแแก แจแแแแแ แแ แแก KTable แแ แแกแแแ แแงแแแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแก, แจแแกแแซแแแแแแแ, แ แแ แจแแแแแแ แงแแแแ แแแแแฎแแแแ แแ แแแแแแแแแแก แแแแกแแแแแแก แฅแแแแแ.
KTable.groupBy แแแแแแ แแแ แฃแแแแก แแกแแแแก KGroupedTable-แก - แแแแแฎแแแแแแแก แแแแแแแก แจแฃแแแแแฃแ แฌแแ แแแแแแแแก, แแแแแฏแแฃแคแแแฃแแ แแแกแแฆแแแแก แแแฎแแแแแ.
แแแแแแ แจแแแแกแแแแแ แแ แแแแแแฎแแแแ แแแฎ. 5.9, แ แแแแแแช แแแแฉแแแแแแก, แ แแก แแแแแฆแฌแแแ. แแก แขแแแแแแแแ แฃแแแ แซแแแแแ แแแชแแแแ แฃแแแ แแงแแก แแฅแแแแแแแก.
แแแแแ แแฎแแ แแแแแแฎแแแแ แแ แขแแแแแแแแแก แแแแก (แแก แจแแแแซแแแแ แแฎแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/AggregationsAndReducingExample.java) (แฉแแแแแแแแแแ 5.2).
แแแชแแแฃแแ แแแแ แแแแแแ แฉแแแ แแแแแแฃแ แแแแ แแ แ แแแแแแแแ แกแขแ แแฅแแแจแ แจแแกแ แฃแแแแฃแแ แแแฅแแแแแแแแแก แแแแ แแแชแฃแแแแแ. แแฅแแแ แจแแแซแแแแ แจแแแแฉแแแแ แ แแฆแแช แแฎแแแ builder.stream แแแแแแแก แแแ แแแ แแแ แแแแขแ แจแ: แแแแจแแแแแแแ enum แขแแแแก AutoOffsetReset.EARLIEST (แแ แกแแแแแก แแกแแแ LATEST), แแแงแแแแแฃแแ Consumed.withOffsetResetPolicy แแแแแแแก แแแแแงแแแแแแ. แฉแแแแแแแแก แแก แขแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแคแกแแขแฃแ แ แแแแแขแแแ แแแแก แกแขแ แแขแแแแแก แแแกแแแฃแกแขแแแแแ แแแแแแฃแแ KStream-แแกแแแแก แแ KTable-แแกแแแแก แแ แฃแแแ แแขแแกแแแ แแแแญแแแ แแคแกแแขแฃแ แ แแแแแขแแแ แแแแก แแแ แแแแขแก แแแแคแแแฃแ แแชแแแแแ.
GroupByKey แแ GroupBy
KStream แแแขแแ แคแแแกแก แแฅแแก แฉแแแแฌแแ แแแแก แแแฏแแฃแคแแแแก แแ แ แแแแแแ: GroupByKey แแ GroupBy. แแ แแแ แแแ แฃแแแแก KGroupedTable-แก, แแกแ แ แแ แแฅแแแ แจแแแซแแแแ แแแแแขแแ แแกแแแ แ แ แแแแกแฎแแแแแแแ แแแ แจแแ แแก แแ แ แแแแก แแแแแแแงแแแแ แ แแแแแ?
GroupByKey แแแแแแ แแแแแแงแแแแแ, แ แแแแกแแช แแแแแแจแแแ KStream-แจแ แฃแแแ แแ แแ แแก แชแแ แแแแ. แแ แ แแช แแแแแแ แแ, แแ แแจแ โแแแแแฎแแแก แฎแแแแฎแแ แแแงแแคแแกโ แแ แแกแแแแก แแแงแแแแแฃแแ.
GroupBy แแแแแแ แแแ แแฃแแแแก, แ แแ แแฅแแแ แจแแชแแแแแ แแแฏแแฃแคแแแแก แแแแแแจแแแ, แแแแขแแ แแแแแแแฌแแแแแแก แแ แแจแ แแแงแแแแแฃแแแ true. แจแแแ แแแแแก, แแแ แแแแชแแแแแก แแ แ.แจ. GroupBy แแแแแแแก แจแแกแ แฃแแแแ แแแแแแฌแแแแก แแแขแแแแขแฃแ แฎแแแแฎแแ แแแงแแคแแก.
แจแแฏแแแแแ: แจแแซแแแแแกแแแแแแ แแ, แแฅแแแ แฃแแแ แแแแแแงแแแแ GroupByKey แแ แแ แ GroupBy.
แแแกแแแแแแ, แ แแก แแแแแแแแ mapValues โโแแ groupBy แแแแแแแแ, แแกแ แ แแ, แแแแแ แแแแแแฎแแแแ sum() แแแแแแก (แแแแแแแ src/main/java/bbejeck/model/ShareVolume.java) (แแแแชแฎแแแแแ 5.3).
ShareVolume.sum แแแแแแ แแแ แฃแแแแก แแฅแชแแแแแก แแแงแแแแแแแก แแแชแฃแแแแแก แแแแแแแแ แ แฏแแแก แแ แแแแแแแแแแแก แแแแแ แฏแแญแแแก แจแแแแแ แแ แแก KTable แแแแแฅแขแ. . แแฎแแ แแฅแแแ แแแกแแแ KTable-แแก แ แแแ. แ แแแแกแแช ShareVolume แแแแแฅแขแแแ แฉแแแแแแก, แจแแกแแแแแแกแ KTable แแแแแฅแขแ แแแแฎแแแก แฃแแฎแแแก แแแแแแแแ แ แแแแแฎแแแแแก. แแแแจแแแแแแแแแแ แแแแฎแกแแแแแก, แ แแ แงแแแแ แแแแแฎแแแแ แแแกแแฎแแแ แฌแแแ shareVolumeKTable-แจแ, แแแแ แแ แงแแแแ แแ แแ แแก แแแแแแแแแแ แจแแแแแแแจแ.
แจแแแแแแ, แแ KTable-แแก แแแแแงแแแแแแ, แฉแแแ แแแแ แแแแแ (แแแญแ แฃแแ แแฅแชแแแแแก แ แแแแแแแแแก แแแฎแแแแแ) แแแแแแแ แฎแฃแ แแแแแแแแแแแ, แ แแแแแแแช แแฅแแ แแฅแชแแแแแก แงแแแแแแ แแแขแ แแแชแฃแแแแแก แแแญแ แแแ แแแแแแฃแ แแแแฃแกแขแ แแแจแ. แฉแแแแ แฅแแแแแแแแ แแ แจแแแแฎแแแแแจแ แแกแแแแกแ แแฅแแแแ แแแ แแแแ แแแ แแแแชแแแกแแแแก.
- แจแแแกแ แฃแแแ แกแฎแแ groupBy แแแแ แแชแแ, แ แแ แแแแฏแแฃแคแแ ShareVolume แชแแแแแฃแแ แแแแแฅแขแแแ แแแแฃแกแขแ แแแก แแแฎแแแแแ.
- แแแแฌแงแแ ShareVolume แแแแแฅแขแแแแก แจแแฏแแแแแ. แแแฏแแ แแ แแแ แแแแชแแแก แแแแแฅแขแ แแ แแก แคแแฅแกแแ แแแฃแแ แแแแแก แแ แแแ แแขแแขแฃแแ แ แแแ. แแ แคแแฅแกแแ แแแฃแแ แแแแแก แ แแแจแ, แแฎแแแแ แฎแฃแแ แแแแแแแแ แ แฉแแแ แแแงแแแฃแแ แแฅแชแแแแแก แงแแแแแแ แแแแ แ แแแแแแแแแ.
- แฌแแแ แแแแแชแแก แ แแแแแ แแแแแแขแแแแ แกแขแ แแฅแแแแก แแแแจแแแแแแแแแแ แแ แแแแแ แฃแแแ แงแแแแแแ แแแงแแแแแแ แแฅแชแแแแแก แขแแ แฎแฃแแแฃแแ แ แแชแฎแแแแแก แแแฎแแแแแ แแแแฃแกแขแ แแแก แแแฎแแแแแ.
- แฉแแฌแแ แแ แจแแแแแแแ แกแขแ แแฅแแแจแ แแแแแจแ.
แแแฎ. แแแฎแแแ 5.10 แแแแฉแแแแแแก แแแแแชแแแแ แแแแแแแก แขแแแแแแแแแก แแ แแคแแแก. แ แแแแ แช แฎแแแแแ, แแแแฃแจแแแแแแก แแแแ แ แ แแฃแแแ แกแแแแแแ แแแ แขแแแแ.
แแฎแแ, แ แแแแกแแช แฉแแแ แแแแฅแแก แแแแคแแแ แแแแแ แแแฃแแ แแแแฃแจแแแแแแก แแแแ แ แ แแฃแแแแก แกแขแ แฃแฅแขแฃแ แ, แจแแแแแซแแแ แแแแแแ แแแ แแแก แกแแฌแงแแก แแแแก (แแแก แแแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/AggregationsAndReducingExample.java) (แฉแแแแแแแแแแ 5.4) .
แแก แแแแชแแแแแขแแ แ แจแแแชแแแก fixedQueue แชแแแแแก. แแก แแ แแก แแแ แแแแฃแแ แแแแแฅแขแ, แ แแแแแแช แแ แแก แแแแแขแแ แ java.util.TreeSet-แแกแแแแก, แ แแแแแแช แแแแแแงแแแแแ แแแแ N แจแแแแแแแแก แแแแแงแฃแ แแก แแแแแแแแกแแแแก แแแญแ แแแแก แแฅแชแแแแแก แแแแแแแแแแ.
แแฅแแแ แฃแแแ แแแฎแแ groupBy แแ mapValues โโแแแ แแแ, แแแแขแแ แฉแแแ แแ แจแแแแแ แแแแแ (แฉแแแ แแฃแฌแแแแแ KTable.toStream แแแแแแก, แ แแแแแ KTable.print แแแแแแ แแแซแแแแแแฃแแแ). แแแแ แแ แแฅแแแ แฏแแ แแ แแแแแฎแแแ aggregate()-แแก KTable แแแ แกแแ, แแแแขแแ แชแแขแ แแ แแก แแแแฎแแ แฏแแแ แแแแก แแแแฎแแแแแแ.
แ แแแแ แช แแแฎแกแแแ, แ แแช แแแแแกแฎแแแแแแก KTable-แก, แแ แแก แแก, แ แแ แฉแแแแฌแแ แแแ แแแแแ แแแแแแจแแแแ แแแแแฎแแแแแ แแแแแฎแแแแแ. KTable แชแแแแก แซแแแ แฉแแแแฌแแ แก แแฎแแแ. แแแ แแแแชแแ แฎแแแแ แแแแแแแแฃแ แแ: แแ แแ แแ แแแแแ แแแกแแฆแแแแก แแฅแแแ แฃแแฎแแแกแ แฉแแแแฌแแ แแแ แแแ แแแแ แแแฃแแแ. แ แแแแกแแช แฉแแแแฌแแ แ แฉแแแแแแก, แแแก แแแแขแแแ FixedSizePriorityQueue แแแแกแแก แแแกแขแแแชแแ แจแแแแ แแแแก แแแแแงแแแแแแ (แแแแ แ แแแ แแแแขแ แ แแแ แแแแขแแก แแแแแแแก แแแแแซแแฎแแแแจแ), แแแแ แแ แแฃ แกแฎแแ แฉแแแแฌแแ แ แฃแแแ แแ แกแแแแแก แแแแแ แแแกแแฆแแแแ, แแแจแแ แซแแแแ แฉแแแแฌแแ แ แฌแแแจแแแแ แแแแแแแแแแก แแแแแงแแแแแแ (แแแกแแแ แแแ แแแแขแ แ แแแ แแแแขแฃแแ แแแแแแแก แแแแแซแแฎแแแ).
แแก แงแแแแแคแแ แ แแแจแแแแก, แ แแ แฉแแแแ แแแ แแแแขแแ แ, FixedSizePriorityQueue, แแ แแแ แแแแแแแก แงแแแแ แแแแจแแแแแแแแก แแ แแ แแแกแแฆแแแแ, แแแแ แแ แแแแฎแแแก N แงแแแแแแ แแแญแ แแแแก แขแแแแก แแฅแชแแแแแก แ แแแแแแแแแก แแแซแ แแ แฏแแแก. แแแแแแฃแแ แจแแแแแแแแแ แฉแแแแฌแแ แ แจแแแชแแแก แแฅแแแแ แแแงแแแฃแแ แแฅแชแแแแแก แแแแแแ แ แแแแแแแแแก. KTable แแแแแฌแแแแ แแแคแแ แแแชแแแก แแแแก แจแแกแแฎแแ, แแฃ แ แแแแแ แแแแแแแแแแแก แแฅแชแแแแแ แแแแแแแ แงแแแแแแ แแแขแแ แแแญแ แแแ, แงแแแแแ แแแแแฎแแแแแก แแแซแ แแแ แแแ แแแแชแแแก แกแแญแแ แแแแแก แแแ แแจแ.
แฉแแแ แแแกแฌแแแแแ แแ แ แแแแจแแแแแแแแแ แกแแฅแแแก แแแแแแแแ:
- แแแแฏแแฃแคแแ แแแแจแแแแแแแแแ KTable-แจแ แกแแแ แแ แแแกแแฆแแแแ;
- แจแแแกแ แฃแแแ แกแแกแแ แแแแแ แแแแ แแชแแแแ, แ แแแแ แแชแแ แจแแแ แแแ แแ แแแ แแแแชแแ แแ แแแฏแแฃแคแแแฃแ แแแแจแแแแแแแแแแ.
แแ แแแแ แแชแแแแแก แจแแกแ แฃแแแแแก แชแแแแ แแแแจแแแแแแแแแแ Kafka Streams-แแก แแแแแแแชแแแจแ แแแซแ แแแ แแแแแชแแแแแแก แแแแจแแแแแแแแก แแแกแแแแแแ แแ แแแแก แแแกแแแแแแ, แแฃ แ แ แแแคแแ แแแชแแแก แแขแแ แแแก แแแ.
แฉแแแ แแกแแแ แแแแแแ แแแแแแ แแ แฌแแแแจแ แแแ แ แแแแฎแแแฃแแ แ แแแแแแแแ แซแแ แแแแแ แแแแชแแคแชแแ. แแ-4 แแแแจแ แแแแแแฎแแแแ, แแฃ แ แแแแแแแ แแแแจแแแแแแแแแแ แแแคแแฅแขแแแแก แจแแแฌแงแแแ แแแแแแ, แแแแแแฃแ แ แแแแแแแ แแแแ แแแแแแแก แแแแแแแชแแแกแแแแก. แแ แแแแจแ แแแ แแแแแ แแแแแแแแแ แแฉแแแแ, แแฃ แ แแขแแ แแ แแก แแแแแแแแ แแแ แกแแฎแแแแฌแแคแ แแกแแแ แแแแจแแแแแแแแแ - แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแแแงแฃแ แ แแแแแแแ แ แ แแแคแแ แแแชแแแก แฃแแแ แฃแแแฎแแแ. แแแแแแฃแ แ แฌแแแแแ แแแแแแแ แแแชแแแแแก แฅแกแแแแก แจแแคแแ แฎแแแแแก, แ แแช แแแแแแแชแแแก แฃแคแ แ แแคแแฅแขแฃแ แก แแ แจแแชแแแแแแก แแแแซแแแก แฎแแแก.
แแแแแกแแแแ แ แจแแแ แแแแก แแ แแแ แแแแชแแแก แแแแ แแชแแแก แจแแกแ แฃแแแแแกแแก, แแฅแแแ แฃแแแ แแแฃแแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแก แกแแฎแแแ. แจแแแ แแแแก แแ แแแ แแแแชแแแก แแแแ แแชแแแแ แแแ แฃแแแแก KTable แแแกแขแแแชแแแก แแ KTable แแงแแแแแก แแแแแแแ แแแแแก แจแแแแฎแแแก แซแแแแ แจแแแแแแแแก แแฎแแแ แฉแแแแชแแแแแแกแแแแก. แ แแแแ แช แฎแแแแแ, แงแแแแ แแแแแฎแแแแ แแ แแแแแแแแแ แแแแกแแแแแจแ แแ แแก แแแแจแแแแแแแแแแ, แ แแแแแ แแแ แแแแชแแแก แแแแ แแชแแแแ แจแแฅแแแแแแ แจแแแแฏแแแแแแแ แแแคแแ แแแชแแแก แฌแแ แแแแแแกแแแแก. แแฃ แแ แแแแแแงแแแแแ แแแแแแแแ แแ แแแแแแแ แแแแแก, KTable แแแแแแแแแแแแก แงแแแแ แแแ แแแแชแแแกแ แแ แจแแแ แแแแก แจแแแแแแแก.
แจแแแแแแ, แฉแแแ แแแแแแฎแแแแแ แแแแ แแชแแแแแก แจแแกแ แฃแแแแแก, แ แแแแ แแชแแ แแแ แแแแชแแ แแแ แแแแฃแแ แแ แแแก แแแแแแแแแแแจแ - แ.แฌ. windowing แแแแ แแชแแแแ.
5.3.2. แคแแแฏแ แแก แแแแ แแชแแแแ
แฌแแแ แแแแงแแคแแแแแแจแ แฉแแแ แฌแแ แแแแแแแแแแ แแแชแฃแ แแแแก แแแแแแแฃแชแแ แแ แแแ แแแแชแแ. แแแแแแแชแแแ แจแแแกแ แฃแแ แแฅแชแแแแแก แแแงแแแแแแแก แแแชแฃแแแแแก แฃแฌแงแแแขแ แแแแ แแแแแ, แ แแกแแช แแแฐแงแแ แแแ แแแแ แงแแแแแแ แแแขแแ แแแญแ แแแแก แฎแฃแแ แแฅแชแแแก แแแ แแแแชแแ.
แแแแฏแแ แกแแญแแ แแ แแกแแแ แฃแฌแงแแแขแ แแแ แแแแชแแ แแ แจแแแแแแแแก แจแแ แฌแงแแ. แแ แแแแฏแแ แแฅแแแ แแญแแ แแแแแ แแแแ แแชแแแแแก แจแแกแ แฃแแแแ แแฎแแแแ แแแ แแแแฃแแ แแแ แแแแแก แแแแแแแแแแแจแ. แแแแแแแแแ, แแแแแแแแแแ แ แแแแแแ แแแชแแแแแ แขแ แแแแแฅแชแแ แแแแฎแแ แชแแแแแ แแแแแ แแขแฃแแ แแแแแแแแแก แแฅแชแแแแแ แแแแ 10 แฌแฃแแแก แแแแแแแแแแแจแ. แแ แ แแแแแแแ แแแแฎแแแ แแแแแแ แแแแฌแแแแฃแแ แแฎแแ แกแแ แแแแแแ แแแแแ แแ แแแแ 15 แฌแฃแแแก แแแแแแแแแแแจแ. แแแแแแแชแแแก แจแแฃแซแแแ แ แแแแแแฏแแ แแ แจแแแกแ แฃแแแก แแกแแแ แแแแ แแชแแแแ, แแแแ แแ แจแแแแแแแแ, แ แแแแแแแช แแ แชแแแแแแ แแฎแแแแ แแ แแแก แแแแกแแแฆแแ แฃแ แแแ แแแแแแแ (แแ แแแก แคแแแฏแ แแแ).
แแงแแแแแแแก แแแแ แแแชแแแแแ แแแแ แแชแแแแแก แแแแแแ
แจแแแแแ แแแแแแแแจแ แฉแแแ แแแแแงแฃแ แก แแแแแแแแแ แกแแคแแแแ แขแ แแแแแฅแชแแแแก แ แแแแแแแแ แขแ แแแแแ แจแ โ แแกแฎแแแ แแ แแแแแแแชแแแแก แแ แญแแแแแ แแแแแแแแฃแแแฃแ แคแแแแแกแแกแขแแแก.
แแ แแแแแแแแแแก แแ แ แจแแกแแซแแ แแแแแแ แแ แกแแแแแก. แแ แ-แแ แแ แแแแแแแแ แแแแก แชแแแแ, แแฃ แ แแก แงแแแฃแแแแแ/แงแแแแแ แแแแ แแก แแแแแ แแแ. แแฃ แแก แแแแ แแแแแแแจแแแแ แแ แแแฎแแแฌแแแ แแแแแกแขแแ แแแ แฎแแแแแแ แจแแกแแซแแแแแแแแก, แแแ แ แแฅแแก แแแแชแแแก แแแแ แกแขแ แแขแแแแ. แแแแ แ แแแแแแ แแ แแก แแ แแแแแแแฃแ แ แแแกแแแแแ แฃแแ แแแญแ แแแแก แจแแกแแซแแ แแแจแแแแแก แแแแแแแแแแก แกแฃแ แแแแ. แแแแกแแแแแก แแฅแแแ แฃแแแ แแแแแแแแแแ แแแงแแแแแแแก แแแแ แแฌแแแ แแแแแแแก แแแ แแแแชแแ แแแแจแแแแแแแแ แแ แแกแ แแแแแแแแแ.
แแกแแแ แแแแแแแแแ แจแแแแแแ แจแแแแแแ แแแแแฏแแแแกแแแ:
- แกแแคแแแแ แขแ แแแแแฅแชแแแแแก แแแแแแแ แฌแแกแแแแแฎแแ แแแแแแแก แจแแฅแแแ;
- แจแแแแแแแแแ แฉแแแแฌแแ แแแแก แแแฏแแฃแคแแแ แแงแแแแแแแก ID แแ แแฅแชแแแแแก แกแแแแแแแก แแแฎแแแแแ. groupBy แแแแแแแก แแแแแซแแฎแแแแ แแแ แฃแแแแก KGroupedStream แแแแกแแก แแแกแขแแแชแแแก;
- KGroupedStream.windowedBy แแแแแแ แแแ แฃแแแแก แแแแแชแแแแ แแแแแแก, แ แแแแแแช แจแแแแแคแแ แแแแแ แแ แแแก แคแแแฏแ แแ, แ แแแแแแช แแซแแแแ แคแแแฏแ แแแแก แแแ แแแแชแแแก แกแแจแฃแแแแแแก. แคแแแฏแ แแก แขแแแแก แแแฎแแแแแ, แแ แฃแแแแแ แแ TimeWindowedKStream แแ SessionWindowedKStream;
- แขแ แแแแแฅแชแแแก แ แแแแแแแแ แแแ แแแแชแแแก แแแแ แแชแแแกแแแแก. แคแแแฏแ แแแแ แแแแแชแแแแ แแแแแแ แแแแกแแแฆแแ แแแก, แแฅแแแแ แแฃ แแ แ แแแแแแแแกแฌแแแแแฃแแ แแแแแ แแขแฃแแ แฉแแแแฌแแ แ แแ แแแแแแแจแ;
- แจแแแแแแแแก แฉแแฌแแ แ แแแแแแ แแ แแแแ แแแแกแแแจแ แแแแแขแแแ แแแแแแแแ แแแแก แแ แแก.
แแ แแแแแแแชแแแก แขแแแแแแแแ แแแ แขแแแแ, แแแแ แแ แแแกแ แแแแแแ แกแฃแ แแแ แกแแกแแ แแแแแ แแฅแแแแ. แแแแแ แจแแแฎแแแแ แแแฎ. 5.11.
แจแแแแแแ, แฉแแแ แแแแแแฎแแแแแ แคแแแฏแ แแก แแแแ แแชแแแแแก แคแฃแแฅแชแแแแแ แแแแก แแ แจแแกแแแแแแก แแแแก.
แคแแแฏแ แแแแก แขแแแแแ
Kafka Streams-แจแ แกแแแ แขแแแแก แคแแแฏแแ แแ:
- แกแแกแแฃแ แ;
- "แฉแแแแ แแแ";
- แกแ แแแแ/แฎแขแฃแแแ.
แ แแแแแ แแแ แฉแแแก, แแแแแแแแแแฃแแแ แแฅแแแแ แแแแแแกแแก แแแแฎแแแแแแแ. แชแฃแ แแแกแ แแ แแแแแฎแขแแแแก แคแแแฏแ แแแ แแ แแจแ แจแแแฆแฃแแฃแแแ, แฎแแแ แกแแกแแแก แคแแแฏแ แแแ แจแแแฆแฃแแฃแแแ แแแแฎแแแ แแแแแก แแฅแขแแแแแแ - แกแแกแแแก(แแแแก) แฎแแแแ แซแแแแแแ แแแแแกแแแฆแแ แแแ แแฎแแแแ แแแแ, แแฃ แ แแแแแแแ แแฅแขแแฃแ แแ แแแแฎแแแ แแแแแ. แแแแแแ แแ แแแแฎแกแแแแแก, แ แแ แคแแแฏแ แแก แงแแแแ แขแแแ แแคแฃแซแแแแ แฉแแแแฌแแ แแแแก แแแ แแฆแก/แแ แแก แแ แแ แ แกแแกแขแแแแก แแ แแก.
แจแแแแแแ, แฉแแแ แแแฎแแ แชแแแแแแ แฉแแแแก แขแแแแแแแแแก แคแแแฏแ แแแแก แแแแแแฃแ แขแแแแแ. แกแ แฃแแ แแแแ แแแชแแแฃแแแ แแฎแแแแ แแแ แแแ แแแแแแแแจแ; แกแฎแแ แขแแแแก แคแแแฏแ แแแแกแแแแก แแ แแคแแ แ แจแแแชแแแแแ, แแแ แแ แคแแแฏแ แแก แแแแ แแชแแแก แขแแแแกแ.
แกแแกแแแก แคแแแฏแ แแแ
แกแแกแแแก แคแแแฏแ แแแ แซแแแแแ แแแแกแฎแแแแแแแ แงแแแแ แกแฎแแ แขแแแแก แคแแแฏแ แแแแกแแแ. แแกแแแ แจแแแฆแฃแแฃแแแ แแ แ แแแแแแแ แแ แแแ, แ แแแแแแแแแช แแแแฎแแแ แแแแแก แแฅแขแแแแแแ (แแ แแ แกแฃแแแแฅแขแแก แแฅแขแแแแแแ, แ แแแแแก แแแแแงแฃแ แแก แแแแแแแแช แแกแฃแ แ). แกแแกแแแก แคแแแฏแ แแแ แจแแแแแคแแ แแแแแ แฃแแแฅแแแแแแแก แแแ แแแแแแแ.
แกแฃแ แแแ 5.12 แแกแแฎแแแก แกแแกแแแก แคแแแฏแ แแแแก แแแแชแแคแชแแแก. แแชแแ แ แกแแกแแ แแแแ แแแแแแแแ แกแแกแแแกแแแ แแแก แแแ แชแฎแแแ. แแ แกแฎแแแแ แแแ แฏแแแแ แแฅแแแแ แชแแแแ, แ แแแแแ แแก แแแฐแงแแแแ แฃแแแฅแแแแแแแก แฎแแแแ แซแแแ แแแ แแแแก. แกแแกแแแก แคแแแฏแ แแแ แแแคแฃแซแแแแฃแแแ แแแแฎแแแ แแแแแก แแฅแขแแแแแแแ, แแแแ แแ แแแแแแงแแแแ แฉแแแแฌแแ แแแแแแ แแแ แแฆแแก/แแ แแแก แแแ แแแแ, แ แแแ แแแแแแแแแ แ แแแแ แกแแกแแแก แแแฃแแแแแก แฉแแแแฌแแ แ.
แกแแกแแแก แคแแแฏแ แแแแก แแแแแงแแแแแ แกแแคแแแแ แขแ แแแแแฅแชแแแแแก แแแแแงแฃแ แแก แแแแแแแแกแแแแก
แแแแแ แแแแแแแงแแแแ แกแแกแแแก แคแแแฏแ แแแ แแแชแแแแแ แขแ แแแแแฅแชแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแก แแแกแแฆแแแแ. แกแแกแแแก แคแแแฏแ แแแแก แแแแฎแแ แชแแแแแแ แแแฉแแแแแแแ แกแแแจแ 5.5 (แ แแแแแแช แจแแแแซแแแแ แแฎแแแแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKTableJoinExample.java-แจแ).
แแฅแแแ แฃแแแ แแแฎแแ แแแแ แแชแแแแแก แฃแแแขแแกแแแ แแ แขแแแแแแแแแจแ, แแแแขแแ แแ แแ แแก แกแแญแแ แ แแแแ แฎแแแแฎแแ แงแฃแ แแแ แแฅ. แแแแ แแ แแฅ แแกแแแ แแ แแก แ แแแแแแแแ แแฎแแแ แแแแแแแขแ, แ แแแแแแแช แแฎแแ แแแแแแฎแแแแแ.
แแแแแกแแแแ แ groupBy แแแแ แแชแแ, แ แแแแ แช แฌแแกแ, แแกแ แฃแแแแก แ แแแแ แกแแฎแแก แแแ แแแแชแแแก แแแแ แแชแแแก (แแแ แแแแชแแ, แจแแแ แแแ แแ แแแแแแ). แแฅแแแ แจแแแแซแแแแ แจแแแกแ แฃแแแ แแ แแฃแแฃแแแชแแฃแ แ แแแ แแแแชแแ แแแจแแแแฃแแ แฏแแแแ, แแ แคแแแฏแ แแก แแแ แแแแชแแ, แ แแแแแแช แแแแแแแกแฌแแแแแก แฉแแแแฌแแ แแแก แแแแกแแแฆแแ แฃแ แแ แแแก แคแแแฏแแ แแจแ.
5.5 แฉแแแแแแแแแแแก แแแแ แแแแแแก แขแ แแแแแฅแชแแแแแก แ แแแแแแแแแก แกแแกแแแก แคแแแฏแ แแแจแ. แแแฎ. 5.13 แแก แฅแแแแแแแแ แแแแแแแแแแแฃแแแ แแขแแแแแ แแแแ.
windowedBy(SessionWindows.with(twentySeconds).until(fifteenMiutes)) แแแแแซแแฎแแแแ แฉแแแ แแฅแแแแ แกแแกแแแก แคแแแฏแแ แแก แฃแแแฅแแแแแแแก แแแขแแ แแแแแ 20 แฌแแแ แแ แแแแ แแแแแแก แแแขแแ แแแแแ 15 แฌแฃแแ. 20 แฌแแแแก แฃแแแฅแแแแ แแแขแแ แแแแ แแแจแแแแก, แ แแ แแแแแแแชแแ แแแแชแแแก แแแแแกแแแแ แฉแแแแฌแแ แก, แ แแแแแแช แจแแแแแแก แแแแแแแแ แ แกแแกแแแก แแแกแ แฃแแแแแแแ แแ แแแฌแงแแแแแแ 20 แฌแแแจแ แแแแแแแแ แ (แแฅแขแแฃแ ) แกแแกแแแจแ.
แจแแแแแแ, แฉแแแ แแแแฃแกแขแแแ, แแฃ แ แแแแแ แแแ แแแแชแแแก แแแแ แแชแแ แฃแแแ แจแแกแ แฃแแแแก แกแแกแแแก แคแแแฏแแ แแจแ - แแ แจแแแแฎแแแแแจแ, แแแแแแ. แแฃ แจแแแแแแแแแ แฉแแแแฌแแ แ แฎแแแแแ แฃแแแฅแแแแแแแก แคแแแฏแ แแก แแแฆแแ (แแแ แแฆแแก/แแ แแแก แแแจแแแก แแ แแแ แแฎแแ แแก), แแแแแแแชแแ แฅแแแแก แแฎแแ แกแแกแแแก. แจแแแแแแแแก แแแขแแ แแแแ แแแจแแแแก แกแแกแแแก แจแแแแ แฉแฃแแแแแก แแแ แแแแฃแแ แแ แแแก แแแแแแแแแแแจแ แแ แแซแแแแ แแแแแแแแแแฃแ แแแแแชแแแแแก, แ แแแแแแแช แกแชแแแแแแ แกแแกแแแก แฃแแแฅแแแแแแแก แแแ แแแแก, แแแแ แแ แแแแแช แจแแแซแแแแ แแแแ แแแก. แแแ แแ แแแแกแ, แจแแ แฌแงแแแก แจแแแแแแ แแแฆแแแฃแแ แแฎแแแ แกแแกแแแก แแแกแแฌแงแแกแ แแ แแแกแแกแ แฃแแ แจแแแกแแแแแแแ แงแแแแแแ แแแ แแฃแ แแ แฃแแฎแแแก แแแ แแฆแแก/แแ แแแก แจแขแแแแก.
แแแแแ แจแแแฎแแแแ แ แแแแแแแแ แฉแแแแฌแแ แก แแแแแแแก แแแแแแแแแ, แ แแแ แแแฎแแ แ แแแแ แแฃแจแแแแก แกแแกแแแแ (แชแฎแ แแแ 5.1).
แ แแแแกแแช แฉแแแแฌแแ แแแ แแแแแก, แฉแแแ แแแซแแแ แแ แกแแแฃแ แกแแกแแแแก แแ แแ แแ แแแแแ แแแแแแจแแ, แแแกแ แฃแแแแแก แแ แ แแแแแแแแ, แแแแ แ แแแแแแแแ แ แแแ แแฆแ/แแ แแแก แจแขแแแแ - แฃแแแฅแแแแแแแก แแแขแแ แแแแ แแ แแแฌแงแแแแก แแ แ แแฆแแแแขแแแ แแแแแแแแ แ แแแ แแฆแแก/แแ แแแก แจแขแแแแก + แฃแแแฅแแแแแแแก แแแขแแ แแแแก. แแแแก แแแแแแแแกแฌแแแแแแ, แชแฎแ แแแแแแ แแแฎแ แฉแแแแฌแแ แ. 5.1 แแแแ แแแแแแแฃแแแ แแ แ แกแแกแแแจแ แจแแแแแแแแแ แแ.
1. แฉแแแแฌแแ แ 1 แแแแแก แแแ แแแแ, แแกแ แ แแ แแแฌแงแแแแก แแ แ แฃแแ แแก แแแกแ แฃแแแแแก แแ แแก แแ แแ แแก 00:00:00.
2. แจแแแแแแ, แฉแแแแฌแแ แ 2 แแแแแก แแ แฉแแแ แแแซแแแ แกแแกแแแแก, แ แแแแแแแช แแแแแ แแแแ แแ แ แฃแแแ แแก 23:59:55 แแ แแฌแงแแแ แแ แแฃแแแแแแแก 00:00:35. แฉแแแ แแแแฃแแแแ แฉแแแแฌแแ แก 1 แแ แแแแ แแแแแแแ 1 แแ 2 แกแแกแแแแก. แแแฆแแแ 1 แกแแกแแแก แแแฌแงแแแแก แแ แแก (แแแ แ) แแ แกแแกแแแก แแแกแ แฃแแแแแก แแ แแก (แแแแแแแแแแแ), แแกแ แ แแ แฉแแแแ แแฎแแแ แกแแกแแ แแฌแงแแแ 2:00:00 แกแแแแแ แแ แแแแแ แแแแ 00: 00:00.
3. แฉแแแแฌแแ แ 3 แแแแแก, แฉแแแ แแแซแแแ แกแแกแแแแก 00:00:30-แแแ 00:01:10 แกแแแแแแแ แแ แแแ แแแแฃแแแแ. แแแแแแขแแ แแแแ แ แกแแกแแ แแแกแแฆแแแแกแแแแก 123-345-654,FFBE, แแแฌแงแแแฃแแ แแ แแแแแแแ แแแฃแแ 00:00:50 แกแแแแแ.
4. แฉแแแแฌแแ แ 4 แแแแแก แแ แฉแแแ แแแซแแแ แกแแกแแแแก 23:59:45-แแแ 00:00:25-แแแ. แแแฏแแ แแ แแแแซแแแแ แแ แแแ แกแแกแแ 1 แแ 2. แกแแแแแ แกแแกแแ แแแแ แแแแแแแฃแแแ แแ แแจแ, แแแฌแงแแแแก แแ แแแ 00:00:00 แแ แแแกแ แฃแแแแแก แแ แ 00:00:15.
แแ แแแแงแแคแแแแแแจแ แแฆแฌแแ แแแแแแ, แฆแแ แก แจแแแแแแ แแแแจแแแแแแแแแ แแแฃแแแกแแแแก แแแฎแกแแแแแ:
- แกแแกแแแแ แแ แแ แแก แคแแฅแกแแ แแแฃแแ แแแแแก แคแแแฏแ แแแ. แกแแกแแแก แฎแแแแ แซแแแแแแ แแแแแกแแแฆแแ แแแ แแฅแขแแแแแแ แแแชแแแฃแ แแแ แแแแจแ;
- แแแ แแฆแแก/แแ แแแก แจแขแแแแแแ แแแแแชแแแแแจแ แแแแกแแแฆแแ แแแก แแฃ แแ แ แแแแแแแ แแ แกแแแฃแ แกแแกแแแก แแฃ แฃแแแฅแแแแแแแก แแแ แแแแจแ.
แจแแแแแ แฉแแแ แแแแแแฎแแแแแ แจแแแแแแ แขแแแแก แคแแแฏแ แแก - "แฉแแแแแแ แแแแ" แคแแแฏแ แแแก.
"แฉแแแแแแ แแแแแ" แคแแแฏแ แแแ
แฉแแแแจแแแแ แคแแแฏแ แแแ แแญแแ แก แแแแแแแแแก, แ แแแแแแแช แฎแแแแแ แแ แแแก แแแ แแแแฃแ แแแแแแแแแจแ. แฌแแ แแแแแแแแแ, แ แแ แแฅแแแ แฃแแแ แแแแแแฆแแ แแแ แแแแฃแแ แแแแแแแแแก แงแแแแ แกแแคแแแแ แขแ แแแแแฅแชแแ แงแแแแ 20 แฌแแแจแ, แแกแ แ แแ แแฅแแแ แจแแแแ แแแแแ แงแแแแ แแแแแแแแก แแ แแ แแแก แแแแแแแแแแแจแ. 20 แฌแแแแแแ แแแขแแ แแแแแก แแแแแก แคแแแฏแแ แ แขแ แแแแแแก แแ แแแแแแแก แแฎแแ 20 แฌแแแแแ แแแแแแ แแแแแก แแแขแแ แแแแแ. แกแฃแ แแแ 5.14 แแกแแฎแแแก แแ แกแแขแฃแแชแแแก.
แ แแแแ แช แฎแแแแแ, แแแแ 20 แฌแแแจแ แแแฆแแแฃแแ แงแแแแ แแแแแแแ แจแแแแก แคแแแฏแแ แแจแ. แแ แแแ แแแแแก แแแแแก แแฅแแแแแ แแฎแแแ แคแแแฏแแ แ.
แฉแแแแแแแแแแ 5.6 แแฉแแแแแแก แแแแก, แ แแแแแแช แแกแแฎแแแก แแแฆแแแแฃแ แ แคแแแฏแ แแแแก แแแแแงแแแแแแก แแฅแชแแแแแก แขแ แแแแแฅแชแแแแแก แแฆแกแแฌแแ แแ แงแแแแ 20 แฌแแแจแ (แแแแแแแแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java).
แแ แแชแแ แ แชแแแแแแแแ TimeWindows.of แแแแแแแก แแแแแซแแฎแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แชแแแแแแแ แคแแแฏแแ แ. แแก แแแแแแแแ แแ แแซแแฎแแแก แกแแแแ() แแแแแแก, แแแแขแแ แแแแแงแแแแแฃแแ แแฅแแแแ แแแแฃแแแกแฎแแแแ แจแแแแแแแแก แแแขแแ แแแแ 24 แกแแแแแก แแแแแแแแแแแจแ.
แแแแแแแก, แแ แแ แแแแแแแแแ แคแแแฏแ แแก แแแแ แแแ แแแแขแแ - "hopping" windows-แแ.
แแแชแฃแ แแแแก ("แฎแขแแแ") แคแแแฏแ แแแ
แแแชแฃแ แแแแก/แกแ แแแแ แคแแแฏแ แแแ แฌแแจแแแแ แคแแแฏแ แแแแก แแกแแแแกแแ, แแแแ แแ แแชแแ แ แแแแกแฎแแแแแแแ. แแแชแฃแ แแแแก แคแแแฏแ แแแ แแ แแแแแแแแแแแ แแ แแแก แแแขแแ แแแแแก แแแกแ แฃแแแแแก, แกแแแแ แจแแฅแแแแ แแฎแแ แคแแแฏแแ แแก แแแแ แแแแแแแแแแก แแแกแแแฃแจแแแแแแแ. แแกแแแ แแฌแงแแแแ แแฎแแ แแแแแแแแแแก แคแแแฏแ แแก แฎแแแแ แซแแแแแแแแ แแแแแแแ แแแแแแแก แแแขแแ แแแแแก แจแแแแแ.
แกแแแแฃแกแขแ แแชแแแ แแแแกแฎแแแแแแแแแก แกแแแแฃแกแขแ แแชแแแ แฉแแแแแแ แแแแ แแ แแฎแขแฃแแแ แคแแแฏแ แแแก แจแแ แแก, แแแแฃแแ แฃแแแแ แกแแคแแแแ แแแ แแแแ แแแแ แแชแแแแแก แแแแแแแก แแแแแแแแก. แฉแแแแ แแแแแแ แฏแแ แแแแแ แแ แแก แขแ แแแแแฅแชแแแแแก แ แแแแแแแแแก แแแแแแ, แแแแ แแ แแ แแแแแแ แแแแแแแแแ แแแแแ แแ แแแก แแแแแแแแแแแจแ แแ แแชแฎแแแแแก แแแแแฎแแแแแแแ. แแแแก แแแชแแแแ, แฉแแแ แแแแฎแแแแ แแ แแชแฎแแแแก แฃแคแ แ แแแแแ แแแขแแ แแแแแแแ. แแแแแแแแแ, แฉแแแ แแแแแช แแแแแแแแ แขแ แแแแแฅแชแแแก แ แแแแแแแแแก แงแแแแ 20 แฌแแแจแ, แแแแ แแ แแแแฎแแแแ แแ แแชแฎแแแแก แงแแแแ 5 แฌแแแจแ, แ แแแแ แช แแแฉแแแแแแแ แแแฎ. 5.15. แแ แจแแแแฎแแแแแจแ, แฉแแแ แแแแแฆแแแ แกแแแ แจแแแแแแก แคแแแฏแแ แแก แแแแแฎแฃแ แแแก แแแแแชแแแแแแ.
แฉแแแแแแแแแแ 5.7 แแฉแแแแแแก แแแชแฃแ แแแแก แคแแแฏแ แแแแก แแแแกแแแฆแแ แแก แแแแก (แแแแแแแแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java).
แแแฆแแแแฃแ แ แคแแแฏแแ แ แจแแแซแแแแ แแแ แแแแฅแแแแก แแแแแฎแขแแแแก แคแแแฏแแ แแจแ, แแแ แแก แแแแแขแแแแ advanceBy() แแแแแแแ. แแแฉแแแแแแ แแแแแแแแจแ, แจแแแแฎแแแก แแแขแแ แแแแ แแ แแก 15 แฌแฃแแ.
แแฅแแแ แแแฎแแ แแ แแแแงแแคแแแแแแจแ, แแฃ แ แแแแ แฃแแแ แจแแแฆแฃแแแ แแแ แแแแชแแแก แจแแแแแแแ แแ แแแก แคแแแฏแ แแแแ. แแแ แซแแ, แแแแแ แแแฎแกแแแแแ แจแแแแแแ แกแแแ แ แแ แแ แแแแงแแคแแแแแแแแ:
- แกแแกแแแก แคแแแฏแ แแแแก แแแแ แจแแแแแคแแ แแแแแ แแ แ แแ แแแก แแแ แแแแแ, แแ แแแแ แแแแฎแแแ แแแแแก แแฅแขแแแแแแ;
- "แฉแแแแแแ แแแแแ" แคแแแฏแ แแแ แแซแแแแ แแแแแฎแแแแแก แแแแแแแแแแก แแแชแแแฃแ แแแ แแแแจแ;
- แแแแแฎแขแแแแก แคแแแฏแ แแแแก แฎแแแแ แซแแแแแแ แแแคแแฅแกแแ แแ, แแแแ แแ แแกแแแ แฎแจแแ แแ แแแแแฎแแแแแ แแ แจแแแซแแแแ แจแแแชแแแแแก แแแแแฎแฃแ แฃแ แฉแแแแฌแแ แแแก แงแแแแ แคแแแฏแแ แแจแ.
แจแแแแแแ, แฉแแแ แแแกแฌแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแงแแแแแ KTable แฃแแแ KStream-แแ แแแแจแแ แแกแแแแก.
5.3.3. KStream แแ KTable แแแแแฅแขแแแแก แแแแแแจแแ แแแ
แแ-4 แแแแจแ แแแแแแฎแแแแ แแ แ KStream แแแแแฅแขแแก แแแแแแจแแ แแแ. แแฎแแ แฉแแแ แฃแแแ แแแกแฌแแแแแ แ แแแแ แแแแแแแแจแแ แแ KTable แแ KStream. แแก แจแแแซแแแแ แกแแญแแ แ แแแฎแแแก แจแแแแแแ แแแ แขแแแ แแแแแแแก แแแแ. KStream แแ แแก แฉแแแแฌแแ แแแแก แแแแแแ, แฎแแแ KTable แแ แแก แฉแแแแฌแแ แแแแก แแแแแฎแแแแแแแก แแแแแแ, แแแแ แแ แแแแฏแแ แจแแแซแแแแ แแแแญแแ แแแ แฉแแแแฌแแ แแแแก แแแแแแก แแแแแขแแแแแ แแแแขแแฅแกแขแแก แแแแแขแแแ KTable-แแแ แแแแแฎแแแแแแแก แแแแแงแแแแแแ.
แแแแฆแแ แแแแแชแแแแแ แกแแคแแแแ แขแ แแแแแฅแชแแแแแก แ แแแแแแแแแก แจแแกแแฎแแ แแ แแแแแแ แแแแแแ แกแแคแแแแ แแแ แแแก แกแแแฎแแแแแแแ แจแแกแแแแแแกแ แแแ แแแแแกแแแแก. แแ, แ แ แฃแแแ แแแแแแแแ แแแแก แแแกแแฆแฌแแแแ แแ แแแแแก แแแแแแแแกแฌแแแแแแ, แ แแแแแแช แฃแแแ แแแฅแแ.
- แแแแแแฅแชแแแ KTable แแแแแฅแขแ แแแแแชแแแแแแ แกแแคแแแแ แขแ แแแแแฅแชแแแแแก แ แแแแแแแแแก แจแแกแแฎแแ KStream-แจแ, แ แแกแแช แแแฐแงแแแแ แแแกแแฆแแแแก แจแแชแแแ แแแกแแฆแแแแ, แ แแแแแแช แแแฃแแแแแแก แแ แแฅแชแแแแแก แกแแแแแแแก แจแแกแแแแแแกแ แแแแฃแกแขแ แแแก แกแแฅแขแแ แแ.
- แจแแฅแแแแแ KTable แแแแแฅแขแ, แ แแแแแแช แแแแฎแฃแแแแก แแแแแชแแแแแก แแแแแแแ แกแแคแแแแ แแแ แแแก แกแแแฎแแแแแแ. แแก แแฎแแแ KTable แแแงแแคแแแ แแฅแแแแ แแแแฃแกแขแ แแแก แกแแฅแขแแ แแก แแแฎแแแแแ.
- แแแฃแแแแจแแ แแ แกแแแฎแแแแแแก แแแแแฎแแแแแแ แแแแฃแกแขแ แแแก แกแแฅแขแแ แแก แแแฎแแแแแ แกแแคแแแแ แแแ แแแแ แขแ แแแแแฅแชแแแแแก แ แแแแแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแก.
แแฎแแ แแแแฎแแ, แ แแแแ แแแแแแฎแแ แชแแแแแ แแก แกแแแแฅแแแแ แแแแแ.
แแแแแแงแแแแแ KTable KStream-แแ
KTable KStream-แแ แแแแแกแแงแแแแแ แแฅแแแ แฃแแแ แแแแแแแแ แจแแแแแแ.
- แแแแแแซแแฎแแ KTable.toStream() แแแแแแ.
- KStream.map แแแแแแแก แแแแแซแแฎแแแแ, แจแแชแแแแแ แแแกแแฆแแแ แแแแฃแกแขแ แแแก แกแแฎแแแแ แแ แจแแแแแ แแแฆแแ TransactionSummary แแแแแฅแขแ Windowed แแแกแขแแแชแแแแแ.
แฉแแแ แแแแแแแแจแแ แแแ แแ แแแแ แแชแแแแก แจแแแแแแแแแ แแ (แแแแ แจแแแแซแแแแ แแฎแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (แฉแแแแแแแแแแ 5.8).
แแแแก แแแแ, แ แแ แฉแแแ แแแกแ แฃแแแแ KStream.map แแแแ แแชแแแก, แแแแ แฃแแแแฃแแ KStream แแแกแขแแแชแแ แฎแแแแฎแแ แแแฌแแแแแแ แแแขแแแแขแฃแ แแ, แ แแแแกแแช แแก แแแแแแงแแแแแ แแแแจแแ แจแ.
แฉแแแ แแแแแกแ แฃแแแ แแแแแแ แขแแชแแแก แแ แแชแแกแ, แจแแแแแ แฉแแแ แฃแแแ แจแแแฅแแแแ KTable แแแแแฅแขแ แกแแคแแแแ แแแแแแแก แฌแแกแแแแแฎแแ.
KTable-แแก แจแแฅแแแ แกแแคแแแแ แกแแแฎแแแแแแกแแแแก
แกแแแแแแแแ แแ, KTable แแแแแฅแขแแก แจแแฅแแแแก แกแญแแ แแแแ แแแแแก แแฎแแแแ แแ แแ แฎแแแ (แแแแ แจแแแแซแแแแ แแฎแแแแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (Listing 5.9).
แแฆแกแแแแจแแแแแ, แ แแ แแ แแ แแก แกแแญแแ แ Serde แแแแแฅแขแแแแก แแแแแแแแ, แ แแแแแ แแแ แแแแขแ แแแจแ แแแแแแงแแแแแ แกแขแ แแฅแแแแแ Serdes. แแกแแแ, แแแ แแฃแแ แแฆแ แแชแฎแแแก แแแแแงแแแแแแ, แชแฎแ แแแ แแแแแแแแแ แแแกแแแ แฉแแแแฌแแ แแแแ.
แแฎแแ แฉแแแ แจแแแแแซแแแ แแแแแแแแแ แกแแแแแแ แแขแแแแ - แแแแแแจแแ แแแ.
แแฎแแแ แแแแแแแก แแแแแฎแแแแแแแก แแแแแแจแแ แแแ แขแ แแแแแฅแชแแแก แแแแแแแก แแแแแชแแแแแแแ
แแแแจแแ แแก แจแแฅแแแ แแ แแ แแก แ แแฃแแ. แฉแแแ แแแแแแแงแแแแแ แแแ แชแฎแแแ แจแแแ แแแแแก แแ แจแแแแฎแแแแแจแ, แแฃ แแ แแ แแก แกแแคแแแแ แกแแแฎแแแแแ แจแแกแแแแแแกแ แแแแฃแกแขแ แแแกแแแแก (แแฃแชแแแแแแแ แแแแ แจแแแแซแแแแ แแฎแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (Listing 5.10).
แแแ แชแฎแแแJoin แแแแ แแขแแ แ แกแแแแแแ แแแ แขแแแแ. แแ-4 แแแแจแ แจแแแ แแแแแกแแแ แแแแกแฎแแแแแแแ, JoinWindow แแแแแแ แแ แแแแแแงแแแแแ, แ แแแแแ KStream-KTable แจแแแ แแแแแก แจแแกแ แฃแแแแแกแแก, KTable-แจแ แแฎแแแแ แแ แแ แฉแแแแฌแแ แแ แแแแแแฃแแ แแแกแแฆแแแแกแแแแก. แแกแแแ แแแแจแแ แ แแ แแจแ แจแแแฆแฃแแฃแแ แแ แแ แแก: แฉแแแแฌแแ แ แแ แแก KTable-แจแ แแ แแ แแ แกแแแแแก. แแแแแแ แ แแแกแแแแ: KTable แแแแแฅแขแแแแก แแแแแงแแแแแแ แจแแแแซแแแแ KStream-แแก แแแแแแแ แแแ แแแแแแแแ แฎแจแแ แแ แแแแแฎแแแแฃแแ แกแแชแแแแแ แ แแแแแชแแแแแแ.
แแฎแแ แฉแแแ แแแแแแฎแแแแแ KStream-แแก แฆแแแแกแซแแแแแแแก แแแแแแแ แแแแก แฃแคแ แ แแคแแฅแขแฃแ แแแแก.
5.3.4. GlobalKTable แแแแแฅแขแแแ
แ แแแแ แช แฎแแแแแ, แกแแญแแ แแ แฆแแแแกแซแแแแแก แแแแแแแแแก แแแแแแแ แแแ แแ แแแ แแแแขแแฅแกแขแแก แแแแแขแแแ. แแ-4 แแแแจแ แแฅแแแ แแฎแแแแ แแแแจแแ แแแ KStream-แแก แแ แแแแแฅแขแก แจแแ แแก, แฎแแแ แฌแแแ แแแฌแแแจแ แแฅแแแ แแแฎแแ แแแแจแแ แ KStream-แกแ แแ KTable-แก แจแแ แแก. แงแแแแ แแ แจแแแแฎแแแแแจแ, แแฃแชแแแแแแแแ แแแแแชแแแแ แแแแแแแก แฎแแแแฎแแ แแแงแแคแ แแแแแแจแแแแก แแฎแแ แขแแแแ แแ แแแแจแแแแแแแแแ แจแแแแแแแกแแก. แแแแฏแแ แแแแแแแฌแแแแแ แฎแแแแ แชแแแกแแฎแแ, แแแแฏแแ แแ Kafka Streams แแแแก แแแขแแแแขแฃแ แแ แแแแแแแก. แฎแแแแฎแแแ แแแงแแคแ แแฃแชแแแแแแแแ, แ แแแแแ แแแแแแจแแแ แจแแแชแแแแ แแ แฉแแแแฌแแ แแแ แฃแแแ แแแกแ แฃแแแแก แแฎแแ แแแแงแแคแแแแแแแจแ, แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแแแจแแ แ แจแแฃแซแแแแแแ แแฅแแแแ (แแก แแแแฎแแแฃแแ แแงแ แแ-4 แแแแจแ, แฅแแแแแแจแ โแแแแแชแแแแแแก แฎแแแแฎแแแ แแแงแแคแโ แแแแงแแคแแแแแแจแ 4.2.4).
แฎแแแแฎแแ แแแงแแคแแก แแฅแแก แคแแกแ
แฎแแแแฎแแแ แแแงแแคแ แแแแแฎแแแก แฎแแ แฏแแแก - แแแแแขแแแแแ แ แแกแฃแ แกแแก แฎแแ แฏแแแ แจแฃแแแแแฃแ แ แแแแแแแก แจแแกแแฅแแแแแแ, แแฃแแแแแแขแ แแแแแชแแแแแแก แกแฎแแ แแแแแจแ แจแแกแแแแฎแแ; แแก แแกแแแ แแแจแแแแก แแแแ แแแ แจแแงแแแแแแแก แแ แแแแแแแ แฌแแ แแกแ แแ แแแแฎแแแก แแแแ. แแแ แแ แแแแกแ, แแฃ แแญแแ แแแแแ แแ แแแ แแแขแ แแกแแแฅแขแแก แแ แแแแแแแแแแแแก แจแแแ แแแแ, แแฅแแแ แฃแแแ แแแแแแแจแแ แแ แจแแแ แแแแแแ, แฉแแแแฌแแ แแแแก แ แฃแแ แแฎแแแ แแแแแแจแแแแ แแ แฎแแแแฎแแ แแแแแฎแแ แชแแแแแ แแแงแแคแแก แแ แแชแแกแ.
แแแแแแจแแ แแแ แแชแแ แ แแแแแชแแแแ แแแแ แแแแแแแ
แแแแแแ แ แจแแแแฎแแแแแจแ, แแแกแแแแแจแแ แแแแแ แกแแชแแแแแ แ แแแแแชแแแแแแก แแแชแฃแแแแ แจแแแแ แแแแ แแชแแ แแ, แแแแขแแ แแแกแ แกแ แฃแแ แแกแแแแ แแแแแแแ แจแแแซแแแแ แแแแ แแแก แแแแแแแแ แแ แแแแแแฃแ แแแแแซแก. แแกแแแแกแ แกแแขแฃแแชแแแแแกแแแแก, Kafka Streams แฃแแ แฃแแแแแงแแคแก GlobalKTable แแแแกแก.
GlobalKTable แแแกแขแแแชแแแแ แฃแแแแแแฃแ แแ, แ แแแแแ แแแแแแแชแแ แแแแแ แแแก แงแแแแ แแแแแชแแแก แแแแแแฃแ แแแแแซแแ. แแ แ แแแแแ แงแแแแ แแแแแชแแแ แแแงแแคแแแ แแแแแแฃแ แแแแแซแแ, แแ แแ แแก แกแแญแแ แ แแแแแแแแก แแแแแแแก แแแงแแคแ แกแแชแแแแแ แ แแแแแชแแแแ แแแกแแฆแแแแ แแกแ, แ แแ แแก แฎแแแแแกแแฌแแแแแ แแงแแก แงแแแแ แแแแแงแแคแแกแแแแก. แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแแแแ แฃแฌแงแแแขแ แจแแแ แแแแแแ GlobalKTable แแแแแฅแขแแแแก แแแแแงแแแแแแ. แแแแแ แแแแฃแแ แฃแแแแ แแ แ-แแ แ แฌแแแ แแแแแแแแก แแ แแแฎแแกแแแแแแแแก แกแแฉแแแแแแแแ.
KStream แแแแแฅแขแแแแก แแแแแแจแแ แแแ GlobalKTable แแแแแฅแขแแแแแ
5.3.2 แฅแแแแแแจแ แฉแแแ แจแแแแกแ แฃแแแ แแงแแแแแแแแแก แแแแ แแแชแแแแแ แแแแ แแชแแแแแก แคแแแฏแ แแก แแแ แแแแชแแ. แแ แแแ แแแแชแแแก แจแแแแแแแ แแกแ แแแแแแงแฃแ แแแแแ:
{customerId='074-09-3705', stockTicker='GUTM'}, 17
{customerId='037-34-5184', stockTicker='CORK'}, 16
แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแก แจแแแแแแแ แแแกแแฎแฃแ แแแแแ แแแแแแก, แฃแคแ แ แกแแกแแ แแแแแ แแฅแแแแแแ แแแแฎแแแ แแแแแก แกแแฎแแแ แแ แแแแแแแแแก แกแ แฃแแ แกแแฎแแแแช แ แแ แงแแคแแแแงแ แแแฉแแแแแแ. แแแแฎแแแ แแแแแก แกแแฎแแแแกแ แแ แแแแแแแแแก แกแแฎแแแแก แแแกแแแแขแแแแแ, แจแแแแซแแแแ แแแแแแแแ แแแ แแแแฃแ แ แจแแแ แแแแ, แแแแ แแ แแฅแแแ แแแแญแแ แแแแแ แแ แ แแแกแแฆแแแแก แ แฃแแแแแก แแแแแแแแ แแ แฎแแแแฎแแแ แแแงแแคแ. GlobalKTable-แแ แจแแแแซแแแแ แแแแแแแ แแแชแแแแ แแกแแแ แแแแ แแชแแแแแก แฆแแ แแแฃแแแแ.
แแแแกแแแแแก แฉแแแ แแแแแแแงแแแแแ countStream แแแแแฅแขแก แฉแแแแแแแแแแแแแ 5.11 (แจแแกแแแแแแกแ แแแแ แจแแแแซแแแแ แแฎแแแแ src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) แแ แแแแฃแแแแจแแ แแ แแแก GlobalKTable แแ แแแแแฅแขแแแ.
แฉแแแ แฃแแแ แแแกแแฃแแ แแ แแแแแ, แแแแขแแ แแฆแแ แแแแแแแแ แแ. แแแแ แแ แแ แแฆแแแแจแแแ, แ แแ toStream().map แคแฃแแฅแชแแแก แแแแ แแแกแขแ แแฅแขแฃแแแ แคแฃแแฅแชแแแก แแแแแฅแขแจแ, แแแชแแแแ inline แแแแแแ แแแแแฎแแขแแแกแ, แฌแแแแแฎแแแก แแแแแแ.
แจแแแแแแ แแแแแฏแ แแ แแก GlobalKTable-แแก แแ แ แแแแแแแแแ แแก แแแแแชแฎแแแแแ (แแแฉแแแแแแ แแแแ แจแแแแซแแแแ แแฎแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) (แฉแแแแแแแแแแ 5.12).
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแแแแแแก แกแแฎแแแแแ แแฆแฌแแ แแแแ แฉแแแแแแแแแ แขแแแแแแก แแแแแงแแแแแแ.
แแฎแแ, แ แแชแ แงแแแแ แแแแแแแแแขแ แแแแ แแแแฅแแก, แ แฉแแแ แแฎแแแแ แแแแแแจแแ แแแแก แแแแแก แฉแแฌแแ แ (แ แแแแแแช แจแแแแซแแแแ แแฎแแแแ แคแแแแจแ src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) (Listing 5.13).
แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแ แแแแจแ แแ แ แจแแแ แแแแแ, แแกแแแ แแแฏแแญแแฃแแแ, แ แแแแแ แแ แชแแ แแ แจแแแแแ แแ แแแแแแงแแแแแ แชแแแแ. แจแแแแแแแ แแแฉแแแแแแแ แแแแแ แแแแ แแชแแแก แแแแแก.
แ แแแแกแแช แแฌแแ แแแแแ แแแแแ แจแแแ แแแแแก แแแแ แแชแแแก, แแแแฆแแแ แจแแแแแ แจแแแแแแแก:
{customer='Barney, Smith' company="Exxon", transactions= 17}
แแ แกแ แแ แจแแชแแแแแ, แแแแ แแ แแก แจแแแแแแแ แฃแคแ แ แแแแแแ แแแแแแงแฃแ แแแ.
แแฃ แฃแแฃแกแแแแ แแแแแแ แแ-4 แแแแก, แแฅแแแ แฃแแแ แแแฎแแ แ แแแแแแแแ แขแแแแก แแแแจแแ แ แแแฅแแแแแแแจแ. แแกแแแ แฉแแแแแแแแแแ แชแฎแ แแแจแ. 5.2. แแก แชแฎแ แแแ แแกแแฎแแแก Kafka Streams-แแก 1.0.0 แแแ แกแแแก แแแแแแจแแ แแแแก แจแแกแแซแแแแแแแแแก; แจแแแซแแแแ แ แแฆแแช แจแแแชแแแแแก แแแแแแแ แแแแแจแแแแแแจแ.
แกแแฅแแแก แแแกแแกแ แฃแแแแแแ, แแแแแ แจแแแแฏแแแแ แกแแคแฃแซแแแแแ: แจแแแแซแแแแ แแแแแแแจแแ แแ แแแแแแแแก แแแแแแแแ (KStream) แแ แแแแแแฎแแแ แแแแแแแแ (KTable) แแแแแแแแ แแแ แแแแแแแ แแแแแก แแแแแงแแแแแแ. แแแ แแ แแแแกแ, แแฃ แกแแชแแแแแ แ แแแแแชแแแแแแก แแแแ แแ แแ แแก แซแแแแแ แแแแ, แจแแแแซแแแแ แแแแแแงแแแแ GlobalKTable แแแแแฅแขแ. GlobalKTables แแแแแ แแแก แงแแแแ แแแแแงแแคแแก แแแแแแฃแ Kafka Streams-แแก แแแแแแแชแแแก แแแแแซแก, แ แแช แฃแแ แฃแแแแแงแแคแก แงแแแแ แแแแแชแแแแก แฎแแแแแกแแฌแแแแแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แแแแ แแแแแงแแคแก แจแแแกแแแแแแแ แแแกแแฆแแแ.
แจแแแแแ แฉแแแ แแแฎแแแแแ Kafka Streams แคแฃแแฅแชแแแก, แ แแแแแก แฌแงแแแแแแแแช แจแแแแแซแแแ แแแแแแแแ แแแ แแแแแแแ แแแแแก แชแแแแแแแแแก แแแคแแแก แแแแแก แแแแแชแแแแแแก แแแฎแแแ แแแแก แแแ แแจแ.
5.3.5. แกแแแญแแ แแแแแแแ แแแแ
แฉแแแ แฃแแแ แจแแแแกแ แฃแแแ แ แแแแแแแแ แแแแ แแชแแ, แ แแแแแแช แแแแชแแแก แแแแแแแ แแแแแก แแ แงแแแแแแแแก แแแขแแแ แจแแแแแแแก แแแแกแแแจแ (แแแแแแแแ แแแแก แแแแแแแแกแแแแก) แแ แแฌแแ แ แแแ แแแแแจแ (แฌแแ แแแแแแก แแแแแแแแกแแแแก). แ แแแแกแแช แฌแแ แ แจแแแแแแแก แแแแแแ, แแฅแแแ แฃแแแ แแแแแแงแแแแ แแแคแแแก แแแแฎแแแ แแแแแ แแแแ แกแแแแฎแแแแ.
แแ แแแแแแแแแ แแแแแชแแแแแแก แฌแแแแแฎแแ แจแแแซแแแแ แฉแแแแแแแแก แแแขแแ แแแแแแแแฃแ แจแแฎแแแฃแแแแแแแ. แฉแแแแ แแแแแแแแกแแแแก, แฉแแแ แจแแแแแซแแแ แแแแแแแแแแแแ แแแแแแแงแแแแ แแแขแแ แแแแแแแแฃแแ แฎแแแแก แแแแแแ แขแแแ: โ... แคแแแแแฃแ แ แแแแแชแแแแ แแแแแก แแแแแฅแขแ, แ แแแแแแช แจแแแชแแแก แแแแฎแแแแแก แจแแแแแแแก. แแแแแแแแแ, แแก แจแแแซแแแแ แแงแแก แแแกแขแแแชแแฃแ แ แแแแแชแแแแแแก แแแแแแฃแ แ แแกแแ, แแ แชแฎแ แแแแก แ แแแแแแก แแ/แแ แกแแแขแแแแก แฅแแแฏแแฃแคแ แแ แจแแแ แแแแแก แจแแแแแแแ, แแ แจแแแแฏแแแแแแแ แชแฎแ แแแ, แ แแแแแแช แแแฆแแแฃแแแ แแแ แแแแชแแแก แแแแโ (https://en.wikipedia.org/wiki /แแแขแแ แแแแแแแแฃแแ_แฎแแแแ).
Kafka Streams แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแฎแแ แชแแแแแ แแแขแแ แแฅแขแแฃแแ แแแแฎแแแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแแจแ, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แแแ แแแแแ แฌแแแแแแฎแแ แแก แแแขแแ แแแแแแแแฃแแ แฎแแแแแ. แแแแจแแแแแแแแแแ แแฆแแแแจแแแก, แ แแ แแแแฎแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแจแ แแ แแก แแฎแแแแ แฌแแแแแฎแแแก แแแแ แแชแแ. แแก แฃแแ แฃแแแแแงแแคแก แแแแก, แ แแ แแฅแแแ แแ แฃแแแ แแแแ แแแฃแแแ, แ แแ แจแแแแฎแแแแแแ แแแแแแแ แแแแ แแ แแแแแแแแแแแ แฃแแแ, แกแแแแ แแฅแแแแ แแแแแแแชแแ แแแฃแจแแแแแก แแแแแชแแแแแก.
แแแแจแแแแแแแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแแแก แฃแจแฃแแแ แจแแแแแฎแแแก แจแแกแแซแแแแแแแ. แแก แแแจแแแแก, แ แแ แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แกแแแแคแแ แแแชแแ แแแคแแก แแแแแแแชแแแแ แแแคแแแก แแแแฎแแแ แแแแแกแแแ แแแแแชแแแแแแก แแแแแแแแแก แแแ แแจแ. แแก แแกแแแ แแ แแแก แแแแแแแชแแแก แแคแแฅแขแฃแ แแแแก, แแแแก แแแแ, แ แแ แแ แแ แแก แกแแญแแ แ แแแแแชแแแแแแก แฎแแแแฎแแ แฉแแฌแแ แ:
- แแแแแชแแแแ แแแแแแแแแชแแแก แฌแงแแแแแแ, แแแ แจแแฃแซแแแแ แกแฌแ แแคแแ แฌแแแแแ;
- แแแแแชแแแแ แแฃแแแแ แแแ แแฆแแแคแฎแแ แแแแ, แ แแแแแ แแก แแ แแฌแแ แแแ แแแ แ แกแแชแแแจแ.
แแแแแแ แ, แ แแช แแแแแ แแแฎแกแแแแแ, แแ แแก แแก, แ แแ แแฅแแแ แจแแแแซแแแแ แแแ แแแแแ แแแแแฎแแแแ แแแแแแแ แแแแ แแฅแแแแ แแแแแแแชแแแก แจแแแแแแแ. แจแแกแแซแแแแแแแแแ, แ แแช แแก แแแซแแแแ, แแ แจแแแซแแแแ แแแแแญแแ แแแแฃแแ แแงแแก. แแแแก แแแชแแแแ, แ แแ แแแแฎแแแ แแ แแแคแแแก แแแแแชแแแแแ แแ แจแแแแแฎแแ แฉแแแแฌแแ แแแ แแแแแแแชแแแก แแแแแชแแแแ แแแแแจแ, แจแแแแซแแแแ แแแแแ แจแแแแแแ แแแแแฎแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแแ. แแแ แแแแแ แ แแแแฎแแแแแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแแจแ แแแจแแแแก แแแแแแ แแแแก (แแแแฎแแแ แแแแแก แแแ แแจแ) แแ แแแแแแ แแ แแแ แแแฃแ แฃแแ แฃแแแแแงแแคแแก (แแ แแ แแก แกแแญแแ แ แแแแแชแแแแ แแแแแก แชแฎแ แแแ แจแแแแแแแแก แจแแกแแแแฎแแ).
แฉแแแ แแ แแแแจแ แกแแแแแแ แแแแ แ แแแแแแ แแแแแแฎแแแแ, แแแแขแแ แกแแฎแแแแฌแแคแ แแแฆแแแแแแแก แแแแแ แ แแแขแแ แแฅแขแแฃแแ แแแแฎแแแแแแแก แแแแฎแแแแแก แแ แแ แแแกแแแแก แแแแขแแแแแ. แแแแ แแ แแ แแแแ แแแฃแแแ: แแ-9 แแแแจแ แฉแแแ แจแแแฅแแแแ แแแ แขแแ แแแคแแก แแแแแแแชแแแก แแแขแแ แแฅแขแแฃแแ แแแแฎแแแแแแแ. แแก แแแแแแงแแแแแก แแแแแแ แ แแแแแแแแก แแ แแ แฌแแแ แแแแแแแแแ แแแขแแ แแฅแขแแฃแแ แแแแฎแแแแแแแก แแแแแแกแขแ แแ แแแแกแแแแก แแ แ แแแแ แจแแแแซแแแแ แแแแแแขแแ แแกแแแ Kafka Streams แแแแแแแชแแแแจแ.
แ แแแแฃแแ
- KStream แแแแแฅแขแแแ แฌแแ แแแแแแแแก แแแแแแแแแแก แแแแแแแแก, แ แแแแแแแช แจแแแแ แแแฃแแแ แแแแแชแแแแ แแแแแจแ แฉแแแแ แแแแแแ. KTable แแแแแฅแขแแแ แฌแแ แแแแแแแแก แแแแแฎแแแแแก แแแแแแแแก, แฃแคแ แ แฐแแแแก แแแแแชแแแแ แแแแแก แแแแแฎแแแแแแก. KTable แแแแแฅแขแแก แแแแ แแ แแแ แแแแ, แซแแแแ แฉแแแแฌแแ แแแ แแชแแแแแ แแฎแแแ.
- KTable แแแแแฅแขแแแ แกแแญแแ แแ แแแ แแแแชแแแก แแแแ แแชแแแแแกแแแแก.
- windowing แแแแ แแชแแแแแก แแแแแงแแแแแแ, แจแแแแซแแแแ แแแงแแ แแแ แแแแ แแแฃแแ แแแแแชแแแแแ แแ แแแก แแแแแฃแแแแแ.
- GlobalKTable แแแแแฅแขแแแแก แฌแงแแแแแแ, แแฅแแแ แจแแแแซแแแแ แฌแแแแแ แกแแชแแแแแ แ แแแแแชแแแแแแ แแแแแแแชแแแก แแแแแกแแแแ แแแแแแแก, แแแแแฌแแแ แแแแก แแแฃแฎแแแแแแ.
- แจแแกแแซแแแแแแแ แแแแจแแ แแแ KStream, KTable แแ GlobalKTable แแแแแฅแขแแแก แจแแ แแก.
แแฅแแแแ แฉแแแ แแ แแแแขแแ แแแฃแแ แแแงแแแแ Kafka Streams แแแแแแแชแแแแแก แจแแฅแแแแแ แแแฆแแแ แแแแแก KStream DSL-แแก แแแแแงแแแแแแ. แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแแฆแแแ แแแแแก แแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แจแแฅแแแแ แกแฃแคแแ แแ แแแแแแฃแ แ แแ แแแ แแแแแ, แแแกแ แแแแแงแแแแแ แฌแแ แแแแแแแแก แแแแแ แแแแกแก. DSL KStream-แแแ แแฃแจแแแแ แแแจแแแแก แแฅแแแแ แแแแแก แแแแแแฃแ แแแแก แแแแ แแแก แแแแขแ แแแแก แฎแแ แแกแฎแแก แจแแแชแแ แแแแ. แจแแแแแ แแแแจแ แฉแแแ แแแแแแฎแแแแแ แแแแแแ แแแแแก แแแแแฃแจแแแแแแแก แแแแแซแแก API-แก แแ แจแแแแชแแแแแ แกแฎแแ แแแแแ แแแแกแแแก. แแ แแแ แแแแแ แฃแคแ แ แแ แซแแแ แแฅแแแแ, แแแแ แ แแแ แ แแงแ, แแแแ แแ แฉแแแ แจแแแซแแแแ แจแแแฅแแแแ แแแแฅแแแก แแแแแกแแแแ แ แแแแแฃแจแแแแแแแ แแแแแซแ, แ แแแแแแช แจแแแซแแแแ แแแแแญแแ แแแก.
โ แฌแแแแแก แจแแกแแฎแแ แแแขแ แแแคแแ แแแชแแ แจแแแแซแแแแ แแฎแแแแ แแฅ
โ แฐแแแ แแแแแแแแ 25% แคแแกแแแแแแแ แแฃแแแแแ - แแแคแแแก แแแแแแแแ
โ แฌแแแแแก แฅแแฆแแแแแก แแแ แกแแแก แแแแแฎแแแก แจแแแแแ แแแแฅแขแ แแแฃแแ แฌแแแแ แแแแแแแแแแแ แแแแฅแขแ แแแฃแแ แคแแกแขแแ.
แฌแงแแ แ: www.habr.com