á áááĽááĽá˘ 5.3. á¨áá°áĽá°áĽ áĽá á¨ááľáŽáľ áľáŤáá˝
á áá ááá ááľáĽáŁ á áŁá á°áľá á°áŞ á¨áááľá á¨áŤá áĽá¨áśá˝á áááá˝ áááłá°áľ áĽáááĽáááᢠáĽáľáŤáá áľá¨áľ á¨áá¨á°ááľá á¨áŤá áĽá¨áśá˝á áá áłáá˝ á¸áááááĄ
- á¨ááááŁá áŞáŤ áśááá ááá á;
- á áĽá¨áľ áľáá áŤáá˝ ááľáĽ áááłá áá áá;
- á¨ááἠáĽá¨áľ áááááśá˝á áá¨ááá;
- á ááľá°áľ áĽá¨áśá˝ (KStream) áĽá á ááá áĽá¨áśá˝ (KTable) ááŤá¨á áŤá ááŠááśá˝á˘
á áááĽááľ ááłááá˝ áĽááá á áá ááĽá¨ áááŽá˝ á ááľ áá áĽáááŁáá. áĽáá˛áá áľá ááľáŽáľ áááŁáľ áááŤáᣠááá áłáá á¨áĽá¨áľ áá°áá áŞáŤáá˝ áŁá áŞá˘ á¨áĽá á¨ááááŞáŤ ááłá ááá áľáá ááááá˘
5.3.1. á á˘ááąáľáľáŞ ááá á¨á áá˛áŽá á˝áŤá áľáá
á¨áĽá¨áľ áááá áá á˛á°áŠ áá°áŁá°áĽ áĽá áá§á°á ááłá ááłáŞáŤáá˝ áá¸áᢠá¨ááá°áĽ ááááŚá˝ á˛áá á ááááá áĽááá áá á á á áá°áá. á°á¨á᪠áá¨áá á¨ááἠááááŁáľ, áĽááąá áá§á°á áĽá ááááľ á áľááá áá.
á áá ááłáᣠá á ááŤáł á˘ááąáľáľáŞáá˝ ááľáĽ áŤá á¨áŠáŁááŤáá˝ á áá˛áŽáá˝ á˝áŤá áá á áá¨áłá°á áŤáá áľá á¨áá ááá´ ááĽáľ áááĽáłáᢠá á°ááá á áĽáŤááłááą á˘ááąáľáľáŞ ááľáĽ áľááá á¨á˝áŤá áľááť áŤáá¸áá á ááľáą áŠáŁááŤáá˝ áá ááááľ á áááľá˘
áĽáá˛á ááááą áľáá áááĄá áá° á°áááá á á˝ ááá°ááá (á á á ááá áááľá ááááá) á¨áá¨á°ááľá á ááŤáł á°á¨ááá˝ áŤáľááááá.
- áĽáŹ á¨á áá˛áŽá ááá áŤáŤ áá¨áá á¨ááŤáľá á áááľ áá á¨á°áá á¨á° ááá ááá áŠá˘ StockTransaction á áááľ áá°áá ShareVolume á áááľ ááá áŤááł ááľá¨á á ááĽáᢠááĽáĄ á¨StockTransaction ááá á¨á˝áŤá ááłáłáł ááááŁááá áá á¨áááááá áľááá¸áĄáľ á¨á áá˛áŽá áĽááľ áá¨á áĽáť ááá˘
- á¨áĄáľá ShareVolume ááἠá á áá˛áŽá ááááľá˘ á ááľ áá á ááááľ á¨á°á°á á°á ᣠáá á ááἠáá° áááľ áľáá á¨á áá˛áŽá á˝áŤá áá á á°áĽáľáĽá˘ á¨KStream.groupBy áá´ á¨KGroupedStream á áááľá áĽáá°ááááľ áἠááŁá á¨áááŁá ááłá ááᢠáĽá á°á¨á᪠á¨KGroupedStream.reduce áá´á á áá°áá ᨠKTable ááłá ááááľ áá˝ááá˘
á¨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 áá´ á¨ááááŞáŤ áá¤áľ ááľáĽ á á˛áľ ááá ááŤáľá°áá áá˝ááᥠá¨ááĽá á áááľ AutoOffsetReset.EARLIEST (á¨á
áἠááá á á)ᣠConsumed.withOffsetResetPolicy áá´á á áá áá á¨á°áááᢠáá
á¨ááá áŞáŤ á áááľ ááĽáŤááłááą á¨KStream ááá KTable á¨ááŤáŤáť áłáá ááľáááŞáŤ áľáľáŤá´áá áááĽááľ áĽá á¨ááááŠá á¨ááŤáŤáť á ááŤáá áááľááá˘
áĄáľáá áŞá áĽá á áĄáľáá
á¨KStream á áááá˝ ááááŚá˝á ááá§á°á áááľ ááááśá˝ á ááľáĄ GroupByKey áĽá GroupByᢠáááąá KGrouped Table ááááłáᣠáľááá á ááŤá¨áá¸á áŤáá ááŠááľ áááľá áá áĽá á¨áľááá ááź áá áá áĽááłááĽá áĽáŤá°áĄ ááá áá˝áá?
á¨ááŠá áŁá᪠áá´ áĽá á áá á¨áááá á KStream ááľáĽ áŤááľ áááá˝ áŁáś á˛áá ááᢠáĽá á¨ááá á ááᣠâáĽáá°áá áá¨áááá áá áááâ áŁáá˛áŤ á ááŤá˝ á áá°ááááá˘
á¨áĄáľááŁá áá´ áĽááľá á¨áĄáľá áááá˝á áĽáá°áá¨áŠ ââáľáááááľ á¨áá¨ááá áŁáá˛áŤ áá° áĽáááľ á°áááĽáŻáᢠá¨áĄáľá áá´ á áá ááááááᣠáá á°áśá˝á ááá° áá¨ááá á áŤáľ á°á áłáá áá¨áááá áŤáľá¨áľááá˘
áá áááŤáĄ á ááťáá áľ áá á¨GroupBy ááá ááŠááŁááŞá áá áá á ááŚáľá˘
áŤááłááŤááŠáľ áĽá áĄáľá á áľááśá˝ áá áĽáá°áá°áŠ ááá áááŁáľááá áľáá() áá´á áĽáá (á src/main/java/bbejeck/model/ShareVolume.java) (áááá 5.3)á˘
ᨠShareVolume.sum áá´ á¨á áá˛áŽá á˝áŤáŠá á á ááá áá°áľ ááááłá ᣠáĽá á¨á á
ááá á¨ááłáĽ á°áá°ááľ áá¤áľ ᨠKTable ááá ááᢠ. á áá KTable á¨ááŤáá°áá áá á°á¨áľá°ááᢠShareVolume áááŽá˝ á˛á°ááąáŁ á°ááłá á¨KTable ááá á¨á
áἠáááá áá
áłá ááá áŤá¨ááťáᢠááá ááááá˝ á ááľáá shareVolumeKTable ááľáĽ áĽáá°ááá¸áŁá¨á ááľáłááľ á áľááá áá ááá áá ááá á°á¨á᪠á áááŠá.
á¨ááŤá á á¨á˘ááąáľáľáŞá á¨áá°á áá á áŤáá á¨á áá˛áŽá áá á áŤáá¸áá á ááľáą áŠáŁááŤáá˝ áá áááľá¨áľ áá áá KTable áĽáá ááááᢠá áá ááłá áá á¨ááá°ááá¸á áľáááśá˝ á¨ááááŞáŤá áľáá áá á°ááłáłá áááá.
- ᨠShareVolume áĽááá˝á á á˘ááąáľáľáŞ ááá§á°á áá áĄáľáá á áŚááŹá˝á áŤá¨áááá˘
- ShareVolume áááŽá˝á áá ááá ááááŠá˘ á áá áá á¨áá áááŤá ááá áá áá á áŤáá á áľá፠áá¨á ááᢠá áá áá áá á áá¨áᣠá¨áá°á áá á áŤáá á áá˛áŽá á¨áŤá á ááľáľ áŠáŁááŤáá˝ áĽáť áĽáá˛áአá°á°áááá˘
- áá¨ááášá áŤááá á ááá˝ áá° á¨ááĽá¨ááá áĽá´áľ áŤá áᥠáĽá á ááľáąá á áŁá á¨á°áá áŤáŠáľá á áá˛áŽáá˝ á ááĽá á á˘ááąáľáľáŞ ááááąá˘
- áá¤áśášá á ááĽá¨ááá ááá áá° áááľ áááá˘
á áľáĽá. ááľá 5.10 á¨ááἠáá°áľ áśááá ááŤá áŤáłáŤá. áĽáá°áááá¨áąáľ, á¨ááá°áá áá áá°áľ á áŁá ááá áá.
á áá á¨áá
á á¨ááá°á áá áá°áľ á ááááŠá ááá˝ á áá ááááľ á¨á°á¨áłá á áá áá° ááá áŽáľ ááá áĽáá˝ááá (á ááá src/main/java/bbejeck/chapter_5/AggregationsAndReducingExample.java) (áááá 5.4) áá áŤáááłáᢠ.
áá ááľáááŞáŤ áá á¨Queue á°áááá á ááᢠáá á java.util.TreeSet á áľáá á¨áá áĽá ááá á˛áá áá á á¨áá°ááá ᨠN áá¤áśá˝á á á áá˛áŽá áá á á°á á°á¨á°á ááá¨áłá°á áŤáááááá˘
á¨áĄáľááŁá áĽá á¨áŤáááŤááľ áĽáŞáá˝á á áá°ááᣠáľááá
áá° áĽáá፠á áááŁá (á¨KTable.toStream áá´ áĽá¨á áŤá áá ááááŤáąá á¨KTable.print áá´ á°ááá§á)ᢠáá ᨠKTable á¨áľáá() áĽáŞáľá áĽáľáŤáá áľáááŠáľ áľáá፠ááááŤá¨áľ áľáá˝ áá áĽááłááááá˘
áĽáá°ááłáľáłááąáľ KTable áአá¨ááŤá°ááá á°ááłáłá áááá˝ áŤáá¸á ááááĽáľ áĽáá° ááááá˝ ááá áŤá¸á ááᢠKTable á¨áľáŽáá áá¤áľ á á á˛áľ áá°áŤáᢠáá á°áą á á°ááłáłá ááááľ áá¨á°áłá-á°ááłáłá ááá áŤáá¸á á¨á áἠáá ááááŚá˝ á°á°áĽáľá áá. á ááľ áááἠá˛ááŁáŁ áá° FixedSizePriorityQueue ááá ááłá á°á¨ááŻáᢠáľáá áá´ áĽáŞ).
áá áá áááľ á¨áĽá á°áĽáłá˘ ᣠFixedSizePriorityQueue ᣠáááá áĽá´áśá˝ á á ááľ ááá á áŤá áááá ᣠáá á°áááłáὠᨠN á áŁá á¨á°á¸áĄ á¨á áá˛áŽá ááááśá˝ áá á áŤá¨ááťáᢠáĽáŤááłááą áᢠáĽáľáŤáá á¨á°á¸áĄáľá á á ááá á¨á áá˛áŽá áĽááľ ááááᢠá¨áĽáŤááłááąá ááťáťáŤ áá áá፠áłáŤáľáááá KTable á á áá áá á¨á¨áľááš áŠáŁááŤáá˝ á áá˛áŽáá˝ á áĽááľ áĽáá°ááá áŤáŠ áá¨á áá°áĽááłáá˘
áááľ á áľááá áááŽá˝á ááľá¨áá á°áá¨áá-
- á¨áĄáľá áĽá´áśá˝ á KTable á á፠ááá;
- á áĽááá á¨á°áá°áĄ áĽá´áśá˝ áá áĽáá° áá ááá áĽá áá ááá áŤá á áá áľáŤáá˝á áŤá¨áááá˘
áĽááá á ááááá˝ áĽáá´áľ áá¨ááá áĽáá°ááťá ááá á áŤá፠áĽá¨áśá˝ áá°áá áŞáŤ ááľáĽ á¨ááááá¨áá ááἠáľááá ááá¨áłáľ áĽá áá áá¨á áĽáá°ááá ááá¨áłáľ á áľááá ááá˘
áĽáá˛áá á áá áá˝áá ááľáĽ áá°á á˛á á¨á°áĽáŤáŠáľá á ááłááľ ááá á áá°-ááłáŚá˝á á°áĽáľá ááᢠá áááŤá 4ᣠáľá á°áľá á¨ááłááľáŁ á¨á áŤáŁá˘ áááľ ááĽá¨áľ áľáá ፠áá áŤá á á áľááá áĽáá°áá á°ááŤáá°ááᢠá áá ááĽáŤá ááľáĽ áŤáá á¨ááááŞáŤá ááłá á¨á áŤáŁá˘ áááľ ááá á áŁá á áľááá áĽáá°áá á áłááˇáâáŤáŠáľá áá¨á á¨áá¨áłá°á á˝ááł áá°áĽááłáᢠá¨á áŤáŁá˘ ááłá¨áť á¨á ááłá¨ áá¨áĽ áááá¨áśá˝á áŤáľáááłáᣠáá á á áááŹá˝áá á¨á áá á ááťá¸á áĽá áľá á°áľá á¨áááá áŤá°ááááá˘
ááá¸ááá á¨áá á áá ááá á¨áá°áŁá°áĽ áľáŤ á áá°áŠá áľ áá á¨áááąá áá¨ááť áľá ááĽááľ á ááĽááľá˘ á¨áĽá áá áĽá á¨áá áá፠áľáŤáὠᨠKTable ááłáá ááááłáᣠáĽá KTable á¨áľáŽ áá¤áśá˝á á á á˛áľ ááá°áŤáľ á¨áľá´áľ áá¨ááť áá áááᢠáĽáá°á°ááá¨áąáľ ᣠááá ááááá˝ áá° á§áá§á á áááŠá ᣠáĽá áá á áľááá áá ááááŤáąá á¨áá áá፠áľáŤáá˝ áá áá፠áá¨á áááá¨áľ á¨á°áá°á áá¸áᢠá¨á áŤáŁá˘ áááľá áŤáááá¨áąáŁ KTable áááá á¨áá áá፠áĽá áĽá á áá¤áśá˝ áŤáľá°ááááá˘
á ááá á, á á°áá°á áá ááľáĽ áĽáá° áá áá፠á¨ááłá°á áľáŤáá˝á áá¨áááá áĽáááá¨áłáá - á¨áááśá áŚááŹá˝áá˝ á¨ááŁááľ.
5.3.2. á¨ááľáŽáľ áľáŤáá˝
á áá°áá ááá ááľáĽ á°áá¸áŤáłá˝ áŽááŽáá˝á áĽá áľááá á áľá°ááááá. á áááŹá˝á ááŁáááľ áŤáá á¨á áá˛áŽá á˝áŤá áá áá á á¨ááááᣠá ááá áá á ááľáąá á áŁá á¨á°áá áŤáŠ á áá˛áŽáá˝á á áá°áŁá°áĽá˘
á ááłááľ áá áĽáá˛á ááááą ááŁáááľ áŤáá áá á°áľ áĽá á¨áá¤áľ áá á áá á áľááá áá. áĽá á ááłááľ áá áľáŤáá˝á á á°áá°á áá ááľáĽ áĽáť áá¨ááá áŤáľáááááłá. áááłáᣠáŁáááľ 10 á°áááá˝ ááľáĽ á¨á ááľ á¨á°áá°á áŠáŁá፠á áá˛áŽáá˝ áá áá áŤá á á¨áááἠáááἠáĽáá°á°á°á¨á á áľáᢠááá áľááľ á°á áááá˝ á á˛áľ á¨ááľáłáá፠áŁáá áá á á áĽááłá°á¨á áŁáááľ 15 á°áááá˝á˘ á áááŹá˝á áĽáá°áá á áááľ áľáŤáá˝á áĽá áá ááŤá¨ááá áá˝áááŁááá áá áá°áá°á áááŤáľ (á¨áá ááľáŽáśá˝) áĽáť á¨áá°áá አáá¤áśá˝ ááá˘
á¨áááἠááĽááśá˝á á áᢠááá á
á áááĽáá ááłáᣠá¨á áá˛áŽá ááĽááśá˝á á á ááŤáł ááá´áá˝ áá áĽáá¨áłá°áááâáá áľááá áľáá áśá˝ ááá áĽáá ááá°áĽ á¨áááἠááá´áá˝á˘
ááá ááľáľá áááľ ááá á¨áá˝á ááááŤáśá˝ á áᢠá¨ááŤá¨áá¸á á ááą á¨áá ፠ááŞáá˝ áá áĽáá°ááá / áĽáá°áá¸áĄ ááá áŤáľáááá. áĽááá áľááá á°áŤáážá˝ áĽá á¨á°áŤáá áŁáááĽáśá˝ ááľá áŤáŠáŁ áľááłá¸áá áá¨á°á á°áᢠááᢠááá°áá ááááŤáľ á¨áá-áἠá¨ááľáĽ áááľ ááááśá˝á á¨ááá¨áľ ááááľ ááᢠáá áá áááľá¨á, áľááá á¨á˝áŤá áááŽá˝á á¨á áľááá á¨áááŁá ááááŤáá˝ áá áŤááá áááááľ áá°áá°á áŤáľáááááłá.
áĽáá˛á ááááą ááľáľá á¨áá¨á°ááľá á°á¨ááá˝ áŤáŤáľáłá:
- á¨á áá˛áŽá ááĽááśá˝ áááľ áááá ἠáĽá¨áľ ááá á;
- áᢠááááŚá˝á á áᢠááłáá፠áĽá á á áá˛áŽá ááááľ áá§á°áᢠáĄáľáá á áá´ ááĽáŤáľ á¨KGroupedStream áááá ááłá ááááłáá˘
- á¨KGroupedStream.windowedBy áá´ á áá ááľáŽáľ á¨á°áá°á á¨ááἠáĽá¨áľ ááááłááŁáá á á ááľáŽáľ á¨á°á°á¨á áľááá ááá áłáᢠá ááľáŽáą á áááľ áá á áááľá¨áľ TimeWindowedKStream áá SessionWindowedKStream ááááłáá˘
- ááľáá áĽáŤ á¨ááĽááľ áá áŤá˘ á¨áááśá á¨ááἠáá°áľ á áá áá ፠ááľáĽ á ááľ á¨á°áá°á áááἠáááľ ááľáĽ áááŁáľ áĽááłáá áľ áááľáá;
- á áááŁáłá áá áľ áá¤áśá˝á áá° á ááľ áááľ á ááá ááá áá° áŽááśá áááŁáąá˘
á¨áá áá°áá áŞáŤ áśááá ááá áá, ááá áá ááá˝ á¨áá ááľá á áá áááá. áľáĽáá áĽá¨áᢠ5.11.
á ááá á á¨áááśá áŚááŹá˝áá˝á á°ááŁáŤáááľ áĽá á°ááá áŽáľá áĽáááá¨áłáá.
á¨ááľáŽáľ ááááśá˝
á áŤá፠áĽá¨áśá˝ ááľáĽ áśáľáľ ááááľ ááľáŽáśá˝ á ááĄ
- ááá áá;
- "ááááá" (áááĽ);
- ááá¸áŤá°áľ/ááá°áľá˘
á¨áľááá ááá¨áĽ áĽáá° áááľ ááľáááśá˝á ááá°áá. áááá áĽá áááá ááľáŽáśá˝ á áá á¨á°áá°áĄ áá¸áᣠá¨ááá-áá ááľáŽáśá˝ áá á á°á áá áĽáá áľáá´ á¨á°áá°áĄ áá¸áâá¨ááá ááá(ááš) áááł á¨ááá°áá á°á ááá áá áŤá á áá áĽáá°áá áĽáť ááᢠááá ááá ááľáłááľ áŤááĽááľ ááá á¨áááśá ááááśá˝ á áľááá°-ááá áłááá á ááá˘áŤááš á¨áá / á¨á°ááľ áá á°áá˝ áá á¨á°áá°á¨áą áá¸á.
á ááá á á¨áĽáá áśááá á áĽáŤááłááą á¨áááśá ááááśá˝ áĽáá°ááĽáŤáá. á¨á°á áááá áŽáľ á¨áá°á á á ááááŞáŤá ááłá áá áĽáť áá, áááá˝ á¨áááśá ááááśá˝ á¨áááśá á á áŤá á áľá°áá ááá ááá á ááááĽá.
á¨ááá áá ááľáŽáśá˝
á¨ááá áá ááľáŽáśá˝ á¨ááá á¨áááśá ááááśá˝ á áŁá á¨á°áአáá¸á. á á°á ááá áĽáá áľáá´ (ááá áá¨áłá°ááľ á áááááľ á¨á áá á áŤá áĽáá áľáá´) áĽáť á¨á°áá°áĄ á áá°ááᢠá¨ááá áá ááľáŽáśá˝ á áĽáá áľáá´-á áᣠáááŤáľ á¨á°áá°áĄ áá¸áá˘
ááľá 5.12 á¨ááá áá ááľáŽáśá˝á á˝áá°-ááłáĽ áŤáłáŤá. áľááš ááá áá á¨ááá ááá áá á á፠á áŠá ááááłá. áĽá á áá á áŠá áŤáá ááá-áá á¨á°áᨠáááá ááááŤáąá á¨á á á¨áĽáá áľáá´-á ááŁááľ ááá áá¨á°áá. á¨ááá áá ááľáŽáśá˝ á á°á áá áĽáá áľáá´ áá á¨á°áá°á¨áą áá¸áᣠááá áá ááá˘áŤá á¨á¨áľáá ááá áá áĽáá°áá áááá°á á¨áá/á°ááľ áá á°áá˝á á¨áá¤áśá˝ áá ááá˘
á¨ááá˝áľ ááĽááśá˝á ááá¨áłá°á á¨ááá áá ááľáŽáśá˝á áá áá
áľá áááἠááĽááśá˝ áá¨áá áááŤá á¨ááá áá ááľáŽáśá˝á áĽáá ááᢠá¨ááá áá ááľáŽáśá˝ á á°ááŁá á á ááľáľ 5.5 ááłáŤá (áá á á src/main/java/bbejeck/chapter_5/CountingWindowingAndKTableJoinExample.java ááľáĽ áááá)á˘
á áá
áśááá ááľáĽ á áĽáááášá ááááá˝ á áá°ááᣠáľááá
áĽáá
áĽáá°áá ááááá á áŤáľááááᢠáá áĽáá
áĽá á áłá˛áľ á áŤááľá á á, á áá á¨ááááŤááŁá¸á.
ááááá á¨áĄáľá ááá á á°áááś á ááłááľ á áááľ á¨áá°áá áľáŤáá˝á áŤá¨áááá (áá áááŤáŁ áĽá á ááá áá áŤ)ᢠá á ááľ á¨á°áá°á áá ááľáŽáľ ááľáĽ ááááŚá˝á á¨áááľ ááľáĽ á¨ááŤáľáᣠáľáá áľááá á¨á á áá áŠáŤ ááá á¨ááľáŽáľ áá á°áľ áá¨ááá áá˝ááá˘
á áááአ5.5 ááľáĽ áŤáá áŽáľ á ááá áá ááľáŽáśá˝ ááľáĽ áŤááľá á¨ááĽááśá˝ áĽááľ áááĽáŤáᢠá áľáĽá. 5.13 áĽááá áľáááśá˝ á°á¨á á á°á¨á áá°áá°áá.
áááśááľ á (SessionWindows.with(twentySeconds)) á áá°áá áĽáľá¨(á áľáŤ á ááľáľ á°áá) áľá¨áľ áŤá áĽáá áľáá´-á áᣠá¨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:15
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 áááá ááá áśáľáľ ááá áááá˝ á á ááľ áá ááŁááŤá, with a start time of 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 á°á áłáľ á¨áá፠áá áľáŤ áá ááááá˘
á áá¨á¨áťá áá° áá¨á¨áťá á¨ááľáŽáľ á ááŤáŽá˝ - "ááá°áľ" ááľáŽáśá˝ áááľ ááá áá.
á°áá¸áŤáłá˝ ("áááá") ááľáŽáśá˝
á¨ááá¸áŤá°áą/á¨áááá ááľáŽáśá˝ á¨ááááá ááľáŽáśá˝ áá á°ááłáłá áá¸áᣠáá áľáá˝ ááŠááľ á áá¸áᢠá¨á áἠáá ááľá°áśá˝á áááľáŹáľ á á˛áľ ááľáŽáľ á¨ááá አá ááľ á°áá¸áŤáłá˝ ááľáŽáśá˝ á¨áá ááá°áľ áĽáľáŞáŤá á áľá¨áľ á áá áĽááᢠá á˛áľ áľááśá˝á á¨ááááŠáľ á¨á°á áŁáŁáá á¨áá ááá°áľ á áá á¨ááľáŽáą áááł áŤáá° áá.
á áááŽáŤáŠá áĽá á áááá ááľáŽáśá˝ ááŤá¨á áŤááá ááŠááľ áááłá¨áľáŁ áá° á¨á áá˛áŽá áááἠááĽááśá˝ ááá á ááłá áĽááááľá˘ ááŁá˝á á ááá á¨ááĽááąá áĽááľ ááá á ááᣠááá áá ááŁáŞáá á¨ááááá á ááľ áááá áá áá á á á áááááᢠá ááľáŠáŁ ááŁáŞáá áŁáá áá áĽáááááááᢠáááłáᣠá ááá á á¨20 á°á¨ááľ á¨ááĽááąá áĽááľ áĽáááĽáŤááᣠááá áá ááŁáŞáá á ᨠ5 á°á¨ááľ á áááᣠá áľáĽá áá áĽáá°ááłá¨áᢠ5.15. á áá á ááŁá, á á°á°áŤáŤá˘ ááἠá áśáľáľ á¨áá¤áľ ááľáŽáśá˝ áĽáá¨ááłáá.
ááááá 5.7 á°áá¸áŤáłá˝ ááľáŽáśá˝á (src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) áá á¨ááááá áŽáľ áŤáłáŤáá˘
áá
áľá-By() áá´ áĽáŞá á áá¨á á¨ááááá ááľáŽáľ áá° ááá፠ááľáŽáľ ááá¨á áá˝ááᢠá ááłáá áá á¨áá ᣠááá°áľ 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 áááá á¨ááľáŽáľ ááłá áŤááĄá˘
áĽááá á ááááá˝ á áá¨á°áá ááááľ á°áá°ááľ áĽáá°áááá (áŽáą á ááá src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (áááá 5.8) áá ááááá˘
á¨KStream.map ááá áĽá¨á°áŤá áľáááᣠá¨á°ááá°á á¨KStream ááłá á áááááľ ááľáĽ áĽá
á áá á˛áá á áŤáľ á°á áĽáá°áá áá¨ááááá˘
á¨ááá¨á áá°áąá á á áá áááᣠá ááá á á¨á áá˛áŽá áá áááá ἠKTable ááá ááá á á ááĽáá˘
áá áá˛áŽá áá ᨠKTable ááá á
áĽáá° áĽáľá ááᣠᨠKTable ááá ááá á á ááľ á¨áŽáľ ááľáá áĽáť áá á¨áááľá°á (áŽáą á ââsrc/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (áááá 5.9) áá ááááá˘
ááĽá¨ááá Serdes á á
ááĽáŽá˝ ááľáĽ áĽá
á áá áľááá ááá á¨á°áá´ áááá˝ áááá˝ áĽáá°áááŁá¸á áἠááŁá áááŁáᢠáĽáá˛ááᣠá¨áá°ááľá áá ፠á áá ááᣠá°áá á¨áĄ áá ááááŞáŤ áá á ááááŚá˝ á¨á°áá ááá˘
á áá áá° áá¨á¨áťá á°á¨á áááľ áĽáá˝ááá - áááááľ.
á¨áá ááťáťáŤáá˝á á¨ááĽááľ áá ፠ááἠáá á áááááľ áá
áááááľ ááá á á áľá¸á᪠á áá°áá. ááááá¨á°á á˘ááąáľáľáŞ ááá ááááľ á¨á áá˛áŽá áá á¨áá á¨á፠áááááá áĽáá áááá (á áľáááá áŽáľ á ááá src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java) (áááá 5.10)á˘
áá
á¨á፠ááááá áŚááŹá°á á áŁá ááá ááᢠá áááŤá 4 ááľáĽ áŤááľ ááá ááŤáá˝ á á°áᨠᨠJoinWindow áá´ áĽá
á áá á áááá ááááŤáąá á¨KStream-KTable áááááá á˛áŤáŤááą á KTable ááľáĽ ááĽáŤááłááą ááá á ááľ áá¤áľ áĽáť á áᢠáĽáá˛á
ááááą áááááľ á áá ááľáĽ á¨á°áá°á á áá°áá: áááᥠá KTable ááľáĽ ááá á¨áá. ááá áá°áá°ááŤáĄ KTable áááŽá˝á á áá áá KStream áŁáá° á á°á°ááá á¨ááá á¨ááŁááť ááἠáá áá¸á áá˝ááá˘
á áá á¨KStream á¨ááᥠááľá°áśá˝á ááá áá¸á áá áἠáááŁá ááááľá áĽáááá¨áłááá˘
5.3.4. GlobalKTable áááŽá˝
áĽáá°ááłá¨áᣠá¨ááľá°áľ áĽá¨áśá˝á áá ááá ááá á ááľ áá¨á áŤáľááááᢠá áááŤá 4 áá á áááľ á¨KStream áááŽá˝ ááŤá¨á áŤááá áááááľ á áá°ááᣠáĽá áŁááá ááá á KStream áĽá á KTable ááŤá¨á áŤááá áááááľ á áá°ááᢠá ááá áá á ááŁááá˝ áááášá áá° á á˛áľ ááááľ ááá áĽá´áľ á˛áŤááá á¨ááἠáĽá¨áąá áĽáá°áá áá¨ááá á áľááá áá. á ááłááľ áá áĽáá°áá áá¨ááá á ááá áá¨áááá ᣠáĽá á ááłááľ áá á¨áŤá፠áĽá¨áśá˝ á áŤáľ-á°á áŤá°ááááᢠáĽáá°áá áá¨ááá á áľááá áá ááááŤáąá ááááš á°ááá áá áĽá ááááŚáš á á á˛áľ áááá˝ ááľáĽ áá¨á¨áľ á ááŁá¸á, á áá áá፠áááááą á¨áááťá áááá (áá á áááŤá 4, á ááá 4.2.4 ááľáĽ "áá¨áá áĽáá°áá áá¨ááá" á ááá ááá ááľáĽ á°áĽáŤááˇá).
áĽáá°áá áá¨ááá áá á ááá˘
áĽáá°áá áá¨ááá ááŞáá˝á áá ááá - ááŤá¨áá áááśá˝á áááá á á°á¨á᪠á¨ááĽá¨áľ ááŞáá˝, á¨á°áŁá ááἠá áá áááľ ááľáĽ áá¨áá¸áľ; á á°á¨ááŞá á¨áá áááľ á ááťá áĽá á ááá ἠááááŤáľ áááá¨áľ áá¨áá áááľ áá. á á°á¨ááŞáᣠá¨á ááľ á áá áá˝áł ááá ááŹáľ áá ááááá á¨áááᣠááá ááŤáášá á á°áá°ááľ ááľá¨áᣠááááŚášá á á á˛áľ áááá˝ áŤááł ááľá¨á áĽá áĽáá°áá á¨áá¨ááá áá°áąá áá¨ááá á ááĽááľá˘
áá° áľááá˝ á¨ááἠáľáĽáľáŚá˝ á áááááľ áá
á á ááłááľ áááłáá˝, á¨ááááá á¨ááŁááť áá¨á áá á á á ááťáŤáááľ áľáá˝ áá, áľááá á¨á°áá á ááá˝ á áĽáŤááłááą ááľááá ááááľ áá á ááá áááŁá á áá˝áá. ááĽáá°áá á áááľ áááłáá˝ á¨áŤá፠áĽá¨áśá˝ ᨠGlobalKTable áááá áŤáááŁáá˘
ᨠGlobalKTable á ááŁááá˝ áአáá¸á ááááŤáąá á áááŹá˝á áááá áá¨ááá˝ áá° áĽáŤááłááą á áááá˝ áá°áááᢠáĽá ááá áá¨ááá˝ á áĽáŤááłááą ááľááá ááááľ áá áľáááá, áááá áááááŽá˝ áĽáá˛áá á¨ááá áąá áĽá¨áľ á ááŁááť áá¨á ááá áá¨ááá á áŤáľáááá. áĽáá˛áá GlobalKTable áááŽá˝á á áá áá á¨ááá á áᣠááá ááŤáá˝á ááľá¨á áá˝ááᢠáá áá áŁá ᪠áááłá¨áľ á¨áá°ááľ ááłááá˝ áá° á ááą áĽááááľá˘
á¨KStream áááŽá˝á ᨠGlobalKTable áááŽá˝ áá á áááááľ áá
á áááľ á ááá˝ 5.3.2 ááľáĽ á áá˘áá˝ á¨áááἠááĽááśá˝á á¨ááľáŽáľ áá°áŁá°áĽá á á¨ááááá. á¨áá áľáá áá¤áľ áá á áááľááá˘
{customerId='074-09-3705', stockTicker='GUTM'}, 17
{customerId='037-34-5184', stockTicker='CORK'}, 16
áĽááá áá¤áśá˝ ááááá á˘áŤá ááᣠá¨á°áá áá áľá áĽá áá á¨áŠáŁááŤá áľá á˘áłá áᎠá¨á áá á áá áá áᢠá¨á°áá áá˝á áľá áĽá á¨áŠáŁááŤáá áľá ááá¨áá áá°á á áááááá ááľá¨á áá˝áá, ááá áá áááľ ááá áŤááłáá˝á ááľá¨á áĽá áĽáá°áá áá¨ááá áŤáľáááááłá. á GlobalKTable á¨áĽáá°áá á áááľ áľáŤáá˝ ááŞá ááľáááľ áá˝áá.
áá áá áááľá¨á á¨áááá 5.11 áŤááá á¨countStream ááá áĽáá áááá (á°ááá áŽáľ á src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) áĽá á¨áááľ GlobalKTable áááŽá˝ áá áĽáááááááá˘
á¨áá
á ááľ á°ááŤáá°ááᣠáľááá
á áá°ááááᢠááá áá á toStream() ááľáĽ áŤáá áŽáľ áááŁáĽ á˛áŁá á¨ááľáĽ ááľáá áááł á áááá˝ ááá
áá° á°ááŁá ááá ááá°áąá á áľá°ááŤááá˘
ááŁáŠ á°á¨á ᨠGlobalKTable áááľ á ááŁááá˝á ááá áá (á¨ááłá¨á áŽáľ á ááá src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) (áááá 5.12) áá ááááá˘
áĽáŁááá á¨áááľ áľáá˝ á¨á°áá¨áአááááśá˝á á áá áá áĽáá°ááááš áἠáá áá˘
á áá ááá áááá˝ ááá áľáááᣠá¨ááá¨á á¨áááááąá áŽáľ ááá áĽáť áá (áá á á ááá src/main/java/bbejeck/chapter_5/GlobalKTableExample.java) (áááá 5.13) áá ááááá˘
á áá
áŽáľ ááľáĽ áááľ ááá ááŤáá˝ á˘ááŠá, áááąá áá¤áłá¸á áá¨áĽáť áĽá
á áá áľááááá á á°áá°ááľ áłáľá¨áá. áá¤áśáš á á á
ááá ááś áĽáá áá¨á¨áť áá ááłáŤá.
á¨áá áŤááá á¨ááááá áľáŤ á˛á°áŠ áĽáá°áá á áááľ áá¤áľ áŤááááĄ-
{customer='Barney, Smith' company="Exxon", transactions= 17}
ááá ááá á áá°ááá á, ááá áá áĽááá áá¤áśá˝ á¨á áá ááá˝ áá¸á.
áĽáľá¨ ááĽáŤá 4 áľá¨áľ áĽáľááĽáŠ áĽá á áááľ áááááśá˝á á á°ááŁá á áá°ááᢠáĽááą á á°áá á¨áĽ ááľáĽ á°áááá¨áá. 5.2. áá á°áá á¨áĽ áĽáá° á¨áŤá፠áĽá¨áśá˝ áľáŞáľ 1.0.0 á¨áááááľ á á áá˝á áŤáááŁáááᢠáá°ááľ á áááááľ áĽáľáá˝ áá á¨áá ááá áááἠáá˝ááá˘
áááŽá˝á ááá áááᣠáá°á¨áłá áááŽá˝á áĽáá°áá áĽááᥠá¨ááľá°áľ áĽá¨áśá˝á (KStream) áááááľ áĽá áĽá¨áśá˝á áááá (KTable) local stateá áá áá áá˝ááᢠá á ááŤáᣠá¨ááŁááťá áá á á áŁá áľáá
áŤáááᣠGlobalKTable á áá áá áá˝ááᢠGlobalKTables ááá á¨á¨áľááá ááááá ááá ááá áá ááá áá¨ááá˝ áááŤá¸áá á áá¨ááἠáááá áááŽá˝ áá° áĽáŤááłááą á¨áŤá áĽá¨áśá˝ áá°áá áŞáŤ ááľááá ááááľ áá°áááá˘
á ááá á á¨áŤá áĽá¨áśá˝ áŁá áŞá áĽááŤááᣠááá á ááľáá áááŁáá á¨áŤá፠áááľ ááἠáłáá áá á¨áľá´áľ áááŚá˝á áááá¨áľ áĽáá˝áááá˘
5.3.5. áá á¨á á¨áá˝á áááł
áááłá á¨ááŤáŤáľáą á ááŤáł áľáŤáá˝á á áľááľáá á áá°áá áĽá áááá áá¤áąá áá° áŽááśá (ááááľ ááááá˝) áĽáááŁáá ááá áá° áááľ (ááááľ ááááá˝) áĽáá˝áááᢠá á ááľ áááľ áá áá¤áśá˝á á áá˝áá áľ áá, áĽááąá ááá¨áľ á¨áŤá፠á¸áá˝ áá áá á ááĽááľ.
á¨áĽááá á ááĽáľáśá˝ ááľáĽ áá¨áá ááá ἠáĽáá° á°á¨áŁá áĽááłáá˝ á áááľ ááá á áá˝áá. ááááá˝áᣠá¨ááŞáá˛áŤ á¨ááľ áĽááłá ááş ááá áá áĽáá˝áááᥠâ...á¨áĽáŤá áá¤áśá˝á á¨áŤá á áŤáá áłáłá¤á áááᢠáááłáᣠá¨á áŤáŁá˘ á¨áááľ ááἠá áᣠááá á¨á¨áľáá˝ áĽá/ááá á¨á áá á¨áĄ á ááśá˝ áááľ áľáĽáľáĽ ááá áá¤áľá áááááᣠááá á áá áá፠á¨á°áá áá áá፠ááá áá˝ááá˘â (https://en.wikipedia.org/wiki) /ááłá_áááł)á˘
á¨áŤá áĽá¨áśá˝ áĽáá˛á á ááááľáľ áá°áĽáŽá˝ áá á ááá°ááá áá ááá˝á áĽáá˛áŤááą ááá áľáááłáᣠáá á áĽááá á ááłá áĽááłáá˝ á ááĽáł áĽáá˛áŤáᥠáŤáľá˝áááłáᢠáá° á¨áľá´áľ áá¨ááť áá áá á°ááŁá˘-áĽáť áľáŤ áááá áἠááŁá á¨áááŁá ááłá ááᢠáá áá°áá áŞáŤá áááĽá á áá°ááłáľ áá áĽáŤá á áľáááľ áááłá á¨áááŁáŁá áááľá¨á áá¨áá áĽáá°áááĽááľ áŤá¨áááŁáá˘
á¨áááľ áá°áĽáŽá˝á á ááĽáł á¨áá á¨á á˝ááł á áľááá ááᢠáá áááľ ááááŞáŤ á¨áŤá á¸áá˝ áá¨á áááŁáľ áłáŤáľááá áłá˝áŚááľ á áááŹá˝áá˝á ááá á áá˝ááᢠáĽáá˛áá á¨áá°áá áŞáŤáá áá¤áłáááľ áá¨ááŤá, ááááŤáąá áĽáá°áá ááἠááťá á áŤáľáááá.
- áááᥠá á¨áŁá˘ ááľáá áááŁáá á ááĽááľ áá°á¨áľáŁá¸á áá˝áá;
- áá° ááŤá áá¨ááť áľááá°áťá á¨ááἠááŁááľ ááááłá.
áĽáá˛áŤáľáłááąáľ á¨ááááá ááá ááá á¨áááá¨áťá ááľáĽ ááá á ááĽáł áá áá áááá˝ áá˝ááᢠáá á¨áá°áŁá˝á áĽáľáá˝ áááá á áá˝ááᢠá¨áŤá፠á¨á°áááá áá¨á á¨áá áá áĽá ááá°áá áŞáŤá á¨ááἠááł ááľáĽ ááááŚá˝á á¨áá áŤáá ááá á¨áľá´áľ áá°áĽáŽá˝á á á°ááłáłá áá¤áľ áá á¨á áá˝áá. ááľá´áľ áá°áĽáŽá˝ ááĽá°á áá ááá˝ áááľ á ááľá°á áŽáľ (á°á áá á¨áá) áĽá áŤáá° áśááľáá (áá¤áśášá ááá¨áá¸áľ á¨ááἠááł á°áá á¨áĽ á áŤáľáááá) áááľ áá.
á áá ááĽáŤá ááľáĽ áľáá˝ ááá á¸ááááᣠáľááá á ááááľáľ áá°áĽáŽá˝ áá á ááá°ááá áĽáŤááá˝ áá ááááłá˝áá áááá áĽáá°ááááᢠáá á áá¨ááᥠá áááŤá 9 ááᣠá ááá°ááá áá ááá˝á á¨áŤá ááá áłá˝áŚááľ áá°áá áŞáŤá áĽáááĽáŤááᢠá ááá°ááá áá ááá˝á áĽá áĽáá´áľ áá° á¨áŤá áĽá¨áśá˝ á áááŹá˝áá˝ áá¨á áĽáá°ááľá˝á áááłá¨áľ á¨áá áĽá áŤáááľ áááŤáá˝ á¨á°áá°á ááłááá˝á áá áááá˘
áá áááŤ
- á¨KStream áááŽá˝ áá° áłáłá¤á á¨ááľááŁáľ áá á˛ááłá°á á¨ááľá°áśá˝á á á¨áśá˝ áááááᢠá¨KTable áááŽá˝ áĽáá° á¨ááἠááł ááťáťáŤ áŤá á¨ááá áĽá¨áśá˝á áááááᢠᨠKTable ááá áá á á áŤáľáá, á áŽá ááááŚá˝ á á á˛áśáš áá°áŤá.
- KTable áááŽá˝ áááááľ áľáŤáá˝ áŤáľááááá˘
- á¨ááľáŽáľ ááááá˝á á áá áá áŁá¨á°á ááá áá¨áá á áá áŁáá˛áá˝ áá¨ááá áá˝ááá˘
- áGlobalKTable áááŽá˝ ááľáá áááŁáá áá¨ááá ááá ááá áá á áá°áá áŞáŤá ááľáĽ á ááááá áŚáł á¨ááŁááť ááἠááááľ áá˝ááá˘
- á KStreamᣠKTable áĽá GlobalKTable áááŽá˝ ááŤá¨á áááááśá˝ ááአáá˝ááá˘
áĽáľáŤááᣠá¨áá°á á°á¨á KStream DSL á áá áá á¨áŤá áĽá¨áśá˝á á áááŹá˝áá˝ á ááááŁáľ áá á á°áŠá¨ááᢠááá áĽááłá á¨á¨áá°á á°á¨á á ááŤá¨áĽ ááá áĽá á á á áŤá ááŽááŤáá˝á áĽáá˛ááĽáŠ á˘áá áľá, áĽáąá áá áá á¨áááľ ááááĽá ááááá. ᨠDSL KStream áá ááľáŤáľ áááľ á¨ááĽáĽá á°á¨áá á ááááľ á¨áŽáľáá á ááááľ áá¨áá áááľ ááᢠá áááĽáá ááĽáŤá áá á°á á°á¨á á°ááŁáŁáŞ ááľááá ááááľ á¤áá áá áĽáááá¨áłáá áĽá ááá˝ ááĽááśá˝á áĽááááŤááᢠááŽááŤááš á¨á ááą á¨á áá áá¨áááᣠááá áá á¨ááŤáľááááá áááááá á°ááŁáŁáŞ ááľááá ááááľ ááá á áĽáá˝áááá˘
â áľá áá˝áá á°á¨á᪠ááááŽá˝ á áá áááá
â á Habrozhiteli 25% áŠáá á áá áá á áá˝ - á¨áŤá፠áĽá¨áśá˝
â ááá˝áá á¨áá¨ááľ áĽáľá áá፠á¨á°áá¸á á áá á¤áááľáŽáá áá˝áá á á˘áá áááŤáá˘
ááá: hab.com