แƒฌแƒ˜แƒ’แƒœแƒ˜ โ€žแƒ™แƒแƒคแƒ™แƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒจแƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก"

แƒฌแƒ˜แƒ’แƒœแƒ˜ โ€žแƒ™แƒแƒคแƒ™แƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒจแƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก" แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ แƒฎแƒแƒ‘แƒ แƒแƒก แƒ›แƒแƒกแƒแƒฎแƒšแƒ”แƒแƒ‘แƒแƒ•! แƒ”แƒก แƒฌแƒ˜แƒ’แƒœแƒ˜ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒกแƒฃแƒ แƒก แƒ’แƒแƒ˜แƒ’แƒแƒก แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ. แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒฃแƒ™แƒ”แƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒ™แƒแƒคแƒ™แƒแƒกแƒ แƒ“แƒ แƒ™แƒแƒคแƒ™แƒแƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜. แƒ™แƒแƒ แƒ’แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒ™แƒแƒคแƒ™แƒแƒก แƒฉแƒแƒ แƒฉแƒแƒก แƒชแƒแƒ“แƒœแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜: แƒ›แƒ” แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก, แƒ แƒแƒช แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—. แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ˜ แƒ™แƒแƒคแƒ™แƒแƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒฎแƒแƒšแƒ‘แƒ”แƒ“แƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒแƒœ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒแƒœ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒ› แƒฌแƒ˜แƒ’แƒœแƒ˜แƒก Kafka Streams แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ“แƒ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” Java แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒ˜แƒชแƒœแƒแƒ‘แƒ”แƒœ แƒชแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ, แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ แƒ—แƒแƒ•แƒ˜แƒแƒœแƒ—แƒ˜ แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜ Kafka Streams แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. แƒฌแƒ˜แƒ’แƒœแƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ Java 8-แƒจแƒ˜ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก Java 8 แƒšแƒแƒ›แƒ‘แƒ“แƒ แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒ•แƒ˜แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒšแƒแƒ›แƒ‘แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ (แƒ—แƒฃแƒœแƒ“แƒแƒช แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒแƒ–แƒ”) แƒ’แƒแƒ›แƒแƒ“แƒ’แƒ”แƒ‘แƒ.

แƒแƒ›แƒแƒœแƒแƒฌแƒ”แƒ แƒ˜. 5.3. แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒกแƒ แƒ“แƒ แƒคแƒแƒœแƒฏแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜

แƒแƒ› แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒแƒšแƒ— แƒ™แƒแƒคแƒ™แƒแƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒแƒ–แƒ”. แƒแƒฅแƒแƒ›แƒ“แƒ” แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒจแƒฃแƒฅแƒ”แƒ— แƒ™แƒแƒคแƒ™แƒแƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒกแƒžแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜:

  • แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒžแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ;
  • แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜;
  • แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ;
  • แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒก (KStream) แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก (KTable).

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒแƒ› แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒขแƒงแƒแƒ‘แƒ— windowing-แƒ˜แƒก, แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ.

5.3.1. แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ แƒ›แƒ แƒ”แƒฌแƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒกแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ แƒ“แƒ แƒ“แƒแƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ แƒกแƒแƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก. แƒ˜แƒœแƒ“แƒ˜แƒ•แƒ˜แƒ“แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ แƒ›แƒแƒ—แƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ แƒแƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ›แƒแƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒ“แƒแƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ.

แƒแƒ› แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฉแƒแƒ˜แƒชแƒ•แƒแƒ›แƒ— แƒ“แƒฆแƒ˜แƒก แƒขแƒ แƒ”แƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒกแƒขแƒฃแƒ›แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ. แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ— แƒฎแƒฃแƒ—แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒฅแƒ•แƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒฌแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒ”แƒ‘แƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒแƒจแƒ˜.

แƒแƒกแƒ”แƒ—แƒ˜ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒแƒ‘แƒ˜แƒฏแƒก, แƒ แƒแƒ—แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒš แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒงแƒ•แƒแƒœแƒ (แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒกแƒแƒฃแƒ‘แƒ แƒ˜แƒกแƒแƒก).

  1. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ—แƒ”แƒ›แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฌแƒงแƒแƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒก แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒ•แƒแƒญแƒ แƒแƒ‘แƒ˜แƒก แƒœแƒ”แƒ“แƒšแƒ”แƒฃแƒš แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก StockTransaction แƒขแƒ˜แƒžแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒ แƒฃแƒ™แƒ ShareVolume แƒขแƒ˜แƒžแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ–แƒ”. แƒกแƒแƒฅแƒ›แƒ” แƒ˜แƒ›แƒแƒจแƒ˜แƒ, แƒ แƒแƒ› StockTransaction แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒงแƒ˜แƒ“แƒฃแƒšแƒ˜ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.
  2. แƒ“แƒแƒแƒฏแƒ’แƒฃแƒคแƒ”แƒ— 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-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— (แƒ•แƒแƒญแƒ แƒฃแƒšแƒ˜ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—) แƒ›แƒ˜แƒ•แƒ˜แƒ“แƒ”แƒ— แƒฎแƒฃแƒ— แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒแƒ›แƒ“แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒช แƒแƒฅแƒ•แƒ— แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ•แƒแƒญแƒ แƒแƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

  1. แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒกแƒฎแƒ•แƒ groupBy แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ, แƒ แƒแƒ› แƒ“แƒแƒแƒฏแƒ’แƒฃแƒคแƒแƒ— ShareVolume แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.
  2. แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— ShareVolume แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ. แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒฃแƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜. แƒแƒ› แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฎแƒฃแƒ—แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ แƒ แƒฉแƒ”แƒ‘แƒ แƒ’แƒแƒงแƒ˜แƒ“แƒฃแƒšแƒ˜ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ—.
  3. แƒฌแƒ˜แƒœแƒ แƒแƒ‘แƒ–แƒแƒชแƒ˜แƒก แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒ›แƒ“แƒ” แƒ“แƒ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒแƒ“แƒ˜ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒž แƒฎแƒฃแƒ—แƒ”แƒฃแƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.
  4. แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒจแƒ˜ แƒ—แƒ”แƒ›แƒแƒจแƒ˜.

แƒœแƒแƒฎ. แƒœแƒแƒฎแƒแƒ–แƒ˜ 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-แƒ“แƒแƒœ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒ แƒ’แƒแƒ•แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒแƒ— แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒ‘แƒ˜แƒ แƒŸแƒ˜แƒก แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒ—แƒแƒœ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ แƒ’แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ˜, แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒฌแƒ”แƒ•แƒแƒ“ แƒ˜แƒ› แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒฅแƒ•แƒ—.

  1. แƒ’แƒแƒ“แƒแƒแƒฅแƒชแƒ˜แƒ”แƒ— KTable แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ KStream-แƒจแƒ˜, แƒ แƒแƒกแƒแƒช แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒแƒ› แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒกแƒ”แƒฅแƒขแƒแƒ แƒ–แƒ”.
  2. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— KTable แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ—แƒ”แƒ›แƒ˜แƒ“แƒแƒœ แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒ‘แƒ˜แƒ แƒŸแƒ˜แƒก แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒ˜แƒ—. แƒ”แƒก แƒแƒฎแƒแƒšแƒ˜ KTable แƒ“แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒกแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.
  3. แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ— แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒ“แƒฃแƒกแƒขแƒ แƒ˜แƒ˜แƒก แƒกแƒ”แƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒกแƒแƒคแƒแƒœแƒ“แƒ แƒ‘แƒ˜แƒ แƒŸแƒแƒ–แƒ” แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก.

แƒแƒฎแƒšแƒ แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒ— แƒ”แƒก แƒกแƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒ’แƒ”แƒ’แƒ›แƒ.

แƒ’แƒแƒ“แƒแƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— KTable KStream-แƒแƒ“

KTable KStream-แƒแƒ“ แƒ’แƒแƒ“แƒแƒกแƒแƒงแƒ•แƒแƒœแƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜.

  1. แƒ’แƒแƒ›แƒแƒ˜แƒซแƒแƒฎแƒ”แƒ— KTable.toStream() แƒ›แƒ”แƒ—แƒแƒ“แƒ˜.
  2. 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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ