рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ" рдирдорд╕реНрдХрд╛рд░, рдЦрд╛рдмреНрд░реЛ рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ! рдпрд╣ рдкреБрд╕реНрддрдХ рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬреЛ рдереНрд░реЗрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╡рд┐рддрд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдХрд╛рдлреНрдХрд╛ рдФрд░ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдХрд╛рдлреНрдХрд╛ рдврд╛рдВрдЪреЗ рдХреЛ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ: рдореИрдВ рдЖрдкрдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреБрднрд╡реА рдХрд╛рдлреНрдХрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдиреМрд╕рд┐рдЦрд┐рдП рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдордзреНрдпрд╡рд░реНрддреА рдФрд░ рдЙрдиреНрдирдд рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд░рдордмрджреНрдзрддрд╛ рдЬреИрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдкреБрд╕реНрддрдХ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЬрд╛рд╡рд╛ 8 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрд╛рд╡рд╛ 8 рд▓реИрдореНрдмреНрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рднреА) рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирдирд╛ рдХрд╛рдо рдЖрдПрдЧрд╛ред

рдЕрдВрд╢. 5.3. рдПрдХрддреНрд░реАрдХрд░рдг рдФрд░ рд╡рд┐рдВрдбреЛрд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди

рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╣рдо рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рдмрд╕реЗ рдЖрд╢рд╛рдЬрдирдХ рднрд╛рдЧреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред рдЕрдм рддрдХ рд╣рдордиреЗ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╣рд▓реБрдУрдВ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рд╣реИ:

  • рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреЛрдкреЛрд▓реЙрдЬреА рдмрдирд╛рдирд╛;
  • рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд░рд╛рдЬреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
  • рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХрдиреЗрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛;
  • рдЗрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░реАрдо (рдХреЗрд╕реНрдЯреНрд░реАрдо) рдФрд░ рдЕрдкрдбреЗрдЯ рд╕реНрдЯреНрд░реАрдо (рдХреЗрдЯреЗрдмрд▓) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣рдо рдЗрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд╛рдПрдВрдЧреЗред рдЖрдк рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдПрдХ рдФрд░ рдмреЗрд╣рддрд░реАрди рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рдВрдбреЛрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдиреЗрдВрдЧреЗред рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕рд░рд▓ рдПрдХрддреНрд░реАрдХрд░рдг рд╣реЛрдЧрд╛.

5.3.1. рдЙрджреНрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрдЯреЙрдХ рдмрд┐рдХреНрд░реА рдХрд╛ рдПрдХрддреНрд░реАрдХрд░рдг

рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХрддреНрд░реАрдХрд░рдг рдФрд░ рд╕рдореВрд╣реАрдХрд░рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдг рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реА рдЙрдирдХреА рдЬрд╛рдВрдЪ рдЕрдХреНрд╕рд░ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рдбреЗрдЯрд╛ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рдПрдХ рджреИрдирд┐рдХ рд╡реНрдпрд╛рдкрд╛рд░реА рдХреА рдкреЛрд╢рд╛рдХ рдкрд╣рдиреЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рдХрдИ рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд╢реЗрдпрд░реЛрдВ рдХреА рдмрд┐рдХреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╢реЗрдпрд░ рдмрд┐рдХреНрд░реА рд╡рд╛рд▓реА рдкрд╛рдВрдЪ рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд░реВрдк рдореЗрдВ (рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ рддреЛ) рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдИ рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

  1. рдПрдХ рд╡рд┐рд╖рдп-рдЖрдзрд╛рд░рд┐рдд рд╕реНрд░реЛрдд рдмрдирд╛рдПрдВ рдЬреЛ рдХрдЪреНрдЪреА рд╕реНрдЯреЙрдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реЛред рд╣рдореЗрдВ StockTransaction рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ ShareVolume рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдореИрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреЙрдХрдЯреНрд░рд╛рдВрд╕рдПрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд┐рдХреНрд░реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдмреЗрдЪреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╢реЗрдпрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  2. рд╢реЗрдпрд░ рд╡реЙрд▓реНрдпреВрдо рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЙрдХ рдЪрд┐рд╣реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЙрдХ рдмрд┐рдХреНрд░реА рдорд╛рддреНрд░рд╛ рдХреЗ рдЙрдк-рдпреЛрдЧ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ 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/AggregationsAndReusingExample.java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) (рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.2)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЗрд╕рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдФрд░ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдЖрдк рдмрд┐рд▓реНрдбрд░.рд╕реНрдЯреНрд░реАрдо рд╡рд┐рдзрд┐ рдХреЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдХреБрдЫ рдирдпрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдирдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди AutoOffsetReset.EARLIEST (рдПрдХ рдирд╡реАрдирддрдо рднреА рд╣реИ), Consumed.withOffsetResetPolicy рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЧрдгрдирд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рдХреЗрд╕реНрдЯреНрд░реАрдо рдпрд╛ рдХреЗрдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдСрдлрд╕реЗрдЯ рд░реАрд╕реЗрдЯ рд░рдгрдиреАрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдСрдлрд╕реЗрдЯ рд░реАрд╕реЗрдЯ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓реЗрддрд╛ рд╣реИред

рдЧреНрд░реБрдкрдмрд╛рдпрдХреА рдФрд░ рдЧреНрд░реБрдкрдмрд╛рдп

KStream рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдХреА рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ: GroupByKey рдФрд░ GroupByред рджреЛрдиреЛрдВ рдПрдХ KGroupedTable рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЙрдирдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ рдФрд░ рдХрдм рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

GroupByKey рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм KStream рдореЗрдВ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, "рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рдзреНрд╡рдЬ рдХрднреА рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

GroupBy рд╡рд┐рдзрд┐ рдорд╛рдирддреА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЧреНрд░реБрдкрд┐рдВрдЧ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрджрд▓ рджреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкреБрдирд░реНрд╡рд┐рднрд╛рдЬрди рдзреНрд╡рдЬ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рд╣реИред GroupBy рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рдж рдЬреБрдбрд╝рд╛рд╡, рдПрдХрддреНрд░реАрдХрд░рдг рдЖрджрд┐ рдХрд░рдиреЗ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрди: рд╡рд┐рднрд╛рдЬрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд╛рд░рд╛рдВрд╢: рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рдЖрдкрдХреЛ GroupBy рдХреЗ рдмрдЬрд╛рдп GroupByKey рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореИрдкрд╡реИрд▓реНрдпреВрдЬрд╝ рдФрд░ рдЧреНрд░реБрдкрдмрд╛рдп рд╡рд┐рдзрд┐рдпрд╛рдБ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИрдВ, рддреЛ рдЖрдЗрдП sum() рд╡рд┐рдзрд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ (src/main/java/bbejeck/model/ShareVolume.java рдореЗрдВ рдкрд╛рдИ рдЧрдИ) (рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.3)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
ShareVolume.sum рд╡рд┐рдзрд┐ рд╕реНрдЯреЙрдХ рдмрд┐рдХреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдХреБрд▓ рдпреЛрдЧ рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рдЧрдгрдирд╛ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ KTable рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ . рдЕрдм рдЖрдк рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ KTable рдХреНрдпрд╛ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИред рдЬрдм ShareVolume рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╡реАрдирддрдо рд╡рд░реНрддрдорд╛рди рдЕрдкрдбреЗрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рднреА рдЕрдкрдбреЗрдЯ рдкрд┐рдЫрд▓реЗ shareVolumeKTable рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдЖрдЧреЗ рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдлрд┐рд░ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рд░реЛрдмрд╛рд░ рдХрд┐рдП рдЧрдП рд╢реЗрдпрд░реЛрдВ рдХреА рдЙрдЪреНрдЪрддрдо рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реА рдкрд╛рдВрдЪ рдХрдВрдкрдирд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП (рдХрд╛рд░реЛрдмрд╛рд░ рдХрд┐рдП рдЧрдП рд╢реЗрдпрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЗрдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдкрд╣рд▓реЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред

  1. рдЙрджреНрдпреЛрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ ShareVolume рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рдЧреНрд░реБрдкрдмрд╛рдп рдСрдкрд░реЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
  2. ShareVolume рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдЗрд╕ рдмрд╛рд░ рдПрдХрддреНрд░реАрдХрд░рдг рд╡рд╕реНрддреБ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрддрд╛рд░ рд╣реИред рдЗрд╕ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдХрддрд╛рд░ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмреЗрдЪреЗ рдЧрдП рд╢реЗрдпрд░реЛрдВ рд╡рд╛рд▓реА рдХреЗрд╡рд▓ рдкрд╛рдВрдЪ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред
  3. рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рдХрддрд╛рд░реЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдкрд░ рдореИрдк рдХрд░реЗрдВ рдФрд░ рдЙрджреНрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реАрд░реНрд╖ рдкрд╛рдВрдЪ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реЛрдмрд╛рд░ рд╡рд╛рд▓реЗ рд╕реНрдЯреЙрдХ рд▓реМрдЯрд╛рдПрдВред
  4. рд╡рд┐рд╖рдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреЗрдВред

рдЪрд┐рддреНрд░ рдореЗрдВ. рдЪрд┐рддреНрд░ 5.10 рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдЯреЛрдкреЛрд▓реЙрдЬреА рдЧреНрд░рд╛рдлрд╝ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рджреВрд╕рд░рд╛ рджреМрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдЕрдм рдЬрдм рд╣рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЗрд╕ рджреВрд╕рд░реЗ рджреМрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рд╕реНрдкрд╖реНрдЯ рд╕рдордЭ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдУрд░ рд░реБрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдк рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ src/main/java/bbejeck/chapter_5/AggregationsAndReductionExample.java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдПрдВрдЧреЗ) (рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.4) .

рдЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдореЗрдВ рдПрдХ рдлрд┐рдХреНрд╕реНрдбрдХреНрдпреВ рд╡реИрд░рд┐рдПрдмрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ java.util.TreeSet рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реЛрдмрд╛рд░ рдХрд┐рдП рдЧрдП рд╢реЗрдпрд░реЛрдВ рдХреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╢реАрд░реНрд╖ рдПрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдЖрдк рдкрд╣рд▓реЗ рд╣реА рдЧреНрд░реБрдкрдмрд╛рдп рдФрд░ рдореИрдкрд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЙрд▓ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдирдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ (рд╣рдо KTable.toStream рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ KTable.print рд╡рд┐рдзрд┐ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реИ)ред рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдПрдЧреНрд░реАрдЧреЗрдЯ() рдХрд╛ рдХреЗрдЯреЗрдмрд▓ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░реЗрдВрдЧреЗред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, KTable рдХреЛ рдЬреЛ рдЪреАрдЬрд╝ рдЕрд▓рдЧ рдмрдирд╛рддреА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рди рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрджреНрдпрддрди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред KTable рдкреБрд░рд╛рдиреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдПрдХ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдПрдХрддреНрд░реАрдХрд░рдг рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдПрдХ рд╣реА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдирд╡реАрдирддрдо рд░рд┐рдХреЙрд░реНрдб рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдЖрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХ рдпреЛрдЬрдХ (рдПрдЧреНрд░реАрдЧреЗрдЯ рдореЗрдердб рдХреЙрд▓ рдореЗрдВ рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рдХреНрд╕реНрдбрд╕рд╛рдЗрдЬрдкреНрд░рд╛рдпрд░рд┐рдЯреАрдХреНрдпреВ рдХреНрд▓рд╛рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЙрд╕реА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдПрдХ рд╕рдмрдЯреНрд░реИрдХреНрдЯрд░ (рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕рдордЧреНрд░ рд╡рд┐рдзрд┐ рдХреЙрд▓)ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдЧреНрд░реАрдЧреЗрдЯрд░, рдлрд┐рдХреНрд╕реНрдбрд╕рд╛рдЗрдЬрдкреНрд░рд╛рдпрд░рд┐рдЯреАрдХреНрдпреВ, рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реЛрдмрд╛рд░ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢реЗрдпрд░реЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдПрдХ рдЪрд▓рддреА рдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЖрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдЕрдм рддрдХ рдмреЗрдЪреЗ рдЧрдП рд╢реЗрдпрд░реЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред KTable рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрдпрддрди рдХреЗ рд░реЛрд▓рд┐рдВрдЧ рдПрдХрддреНрд░реАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЧрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд╢реЗрдпрд░реЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реЛрдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИред

рд╣рдордиреЗ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЗрдВ рдХрд░рдирд╛ рд╕реАрдЦрд╛:

  • рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ KTable рдореЗрдВ рд╕рдореВрд╣ рдорд╛рди;
  • рдЗрди рд╕рдореВрд╣реАрдХреГрдд рдорд╛рдиреЛрдВ рдкрд░ рд░реЛрд▓рдЕрдк рдФрд░ рдПрдХрддреНрд░реАрдХрд░рдг рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВред

рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рдЕрд░реНрде рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рд╣рдордиреЗ рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдХреБрдЫ рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рднреА рдПрдХ рд╕рд╛рде рд▓рд╛рдпрд╛ рд╣реИред рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ, рд╣рдордиреЗ рдЪрд░реНрдЪрд╛ рдХреА рдХрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ, рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд┐рддрд┐ рдХрд┐рддрдиреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд░рд╛рдЬреНрдп рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИ - рдпрд╣ рдЖрдкрдХреЛ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦреА рд╣реИред рд╕реНрдерд╛рдиреАрдп рдкрд╣реБрдВрдЪ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдВрдм рд╕реЗ рдмрдЪрд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирд╢реАрд▓ рдФрд░ рддреНрд░реБрдЯрд┐-рдкреНрд░рддрд┐рд░реЛрдзреА рдмрди рдЬрд╛рддреА рд╣реИред

рдХреЛрдИ рднреА рд░реЛрд▓рдЕрдк рдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд░рд╛рдЬреНрдп рд╕реНрдЯреЛрд░ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд░реЛрд▓рдЕрдк рдФрд░ рдПрдХрддреНрд░реАрдХрд░рдг рд╕рдВрдЪрд╛рд▓рди рдПрдХ KTable рдЙрджрд╛рд╣рд░рдг рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ KTable рдкреБрд░рд╛рдиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ, рд╕рднреА рдЕрдкрдбреЗрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдиреАрдЪреЗ рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХрддреНрд░реАрдХрд░рдг рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рд╛рд░рд╛рдВрд╢ рдЬрд╛рдирдХрд╛рд░реА рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд┐рддрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ KTable рд╕рднреА рдПрдХрддреНрд░реАрдХрд░рдг рдФрд░ рд░реЛрд▓рдЕрдк рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдХреЗ рднреАрддрд░ рдПрдХрддреНрд░реАрдХрд░рдг рдЬреИрд╕реЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ - рддрдерд╛рдХрдерд┐рдд рд╡рд┐рдВрдбреЛрд┐рдВрдЧ рдСрдкрд░реЗрд╢рдиред

5.3.2. рд╡рд┐рдВрдбреЛ рд╕рдВрдЪрд╛рд▓рди

рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рдХрдирд╡рд▓реНрд╢рди рдФрд░ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд╛ рдкрд░рд┐рдЪрдп рджрд┐рдпрд╛ рдерд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рд╕реНрдЯреЙрдХ рдмрд┐рдХреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдирд┐рд░рдВрддрд░ рд░реЛрд▓-рдЕрдк рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкрд░ рдкрд╛рдВрдЪ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реЛрдмрд╛рд░ рд╡рд╛рд▓реЗ рд╢реЗрдпрд░реЛрдВ рдХрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдХрднреА-рдХрднреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдРрд╕рд╛ рдирд┐рд░рдВрддрд░ рдПрдХрддреНрд░реАрдХрд░рдг рдФрд░ рд░реЛрд▓-рдЕрдк рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдореЗрдВ рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрдгрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ 10 рдорд┐рдирдЯ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрдВрдкрдиреА рдХреЗ рд╢реЗрдпрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рддрдиреЗ рд╡рд┐рдирд┐рдордп рд▓реЗрдирджреЗрди рдХрд┐рдП рдЧрдПред рдпрд╛ рдкрд┐рдЫрд▓реЗ 15 рдорд┐рдирдЯ рдореЗрдВ рдХрд┐рддрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдирдП рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреИрдирд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдРрд╕реЗ рдСрдкрд░реЗрд╢рди рдХрдИ рдмрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЬреЛ рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдЕрд╡рдзрд┐ (рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛ) рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рдЦрд░реАрджрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдирд┐рдордп рд▓реЗрдирджреЗрди рдХреА рдЧрд┐рдирддреА

рдЕрдЧрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХрдИ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдЯреЙрдХ рд▓реЗрдирджреЗрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВрдЧреЗ - рдпрд╛ рддреЛ рдмрдбрд╝реЗ рд╕рдВрдЧрдарди рдпрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╛рдЗрдиреЗрдВрд╕рд░ред

рдЗрд╕ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рд╣реИрдВ. рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдмрд╛рдЬрд╛рд░ рдХреЗ рдиреЗрддрд╛ рдХреНрдпрд╛ рдЦрд░реАрдж/рдмреЗрдЪ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЗрди рдмрдбрд╝реЗ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рдирд┐рд╡реЗрд╢рдХреЛрдВ рдХреЛ рдЕрд╡рд╕рд░ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдЙрдирдХреА рд░рдгрдиреАрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рдХрд╛рд░рдг рдЕрд╡реИрдз рдЕрдВрджрд░реВрдиреА рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдХреЗрдд рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░реЗрд╕ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдмрд┐рдХреНрд░реА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╣рд╕рдВрдмрдВрдз рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдРрд╕реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:

  • рд╕реНрдЯреЙрдХ-рд▓реЗрди-рджреЗрди рд╡рд┐рд╖рдп рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдирд╛;
  • рдЦрд░реАрджрд╛рд░ рдЖрдИрдбреА рдФрд░ рд╕реНрдЯреЙрдХ рдкреНрд░рддреАрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдирд╛ред GroupBy рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ KGroupedStream рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рддрд╛ рд╣реИ;
  • KGroupedStream.windowedBy рд╡рд┐рдзрд┐ рдПрдХ рд╕рдордп рд╡рд┐рдВрдбреЛ рддрдХ рд╕реАрдорд┐рдд рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рд▓реМрдЯрд╛рддреА рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛ рдПрдХрддреНрд░реАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╡рд┐рдВрдбреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╛ рддреЛ TimeWindowedKStream рдпрд╛ SessionWindowedKStream рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдПрдХрддреНрд░реАрдХрд░рдг рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдЧрдгрдирд╛ред рд╡рд┐рдВрдбреЛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЧрдгрдирд╛ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ;
  • рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдкрд░ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрдирд╛ рдпрд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ред

рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧреАред рдЖрдЗрдП рдЪрд┐рддреНрд░ рдкрд░ рдПрдХ рдирдЬрд░ рдбрд╛рд▓реЗрдВред 5.11.

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╡рд┐рдВрдбреЛ рд╕рдВрдЪрд╛рд▓рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"

рд╡рд┐рдВрдбреЛ рдкреНрд░рдХрд╛рд░

рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рддреАрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдВрдбреЛ рд╣реИрдВ:

  • рд╕рддреНрд░реАрдп;
  • "рдЯрдореНрдмрд▓рд┐рдВрдЧ" (рдЯрдореНрдмрд▓рд┐рдВрдЧ);
  • рдлрд┐рд╕рд▓рдирд╛/рдЙрдЫрд▓рдирд╛ред

рдХрд┐рд╕реЗ рдЪреБрдирдирд╛ рд╣реИ рдпрд╣ рдЖрдкрдХреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЯрдВрдмрд▓рд┐рдВрдЧ рдФрд░ рдЬрдВрдкрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рд╕рдордп-рд╕реАрдорд┐рдд рд╣реИрдВ, рдЬрдмрдХрд┐ рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВ - рд╕рддреНрд░ рдХреА рдЕрд╡рдзрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рддрдирд╛ рд╕рдХреНрд░рд┐рдп рд╣реИред рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рд╡рд┐рдВрдбреЛ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рджрд┐рдирд╛рдВрдХ/рд╕рдордп рдЯрд┐рдХрдЯреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рд╕рдордп рдкрд░ рдирд╣реАрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдВрдбреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЯреЛрдкреЛрд▓реЙрдЬреА рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдкреВрд░рд╛ рдХреЛрдб рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рд╕рддреНрд░ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдБ

рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдВрдбреЛ рд╕реЗ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВред рд╡реЗ рд╕рдордп рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ (рдпрд╛ рдЙрд╕ рдЗрдХрд╛рдИ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рдЖрдк рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВред рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реАрдорд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд┐рддреНрд░ 5.12 рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЫреЛрдЯрд╛ рд╕рддреНрд░ рдмрд╛рдИрдВ рдУрд░ рдХреЗ рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рджрд╛рдИрдВ рдУрд░ рдХрд╛ рд╕рддреНрд░ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреА рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд┐рд╕ рд╕рддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рд╕реЗ рджрд┐рдирд╛рдВрдХ/рд╕рдордп рдЯрд┐рдХрдЯреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"

рд╕реНрдЯреЙрдХ рд▓реЗрдирджреЗрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЖрдЗрдП рд╡рд┐рдирд┐рдордп рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.5 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬрд┐рд╕реЗ src/main/java/bbejeck/chapter_5/CountingWindowingAndKTableJoinExample.java рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдЖрдк рдЗрд╕ рдЯреЛрдкреЛрд▓реЙрдЬреА рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрд╢рди рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рджреЛрдмрд╛рд░рд╛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХрдИ рдирдП рддрддреНрд╡ рднреА рд╣реИрдВ, рдЬрд┐рди рдкрд░ рдЕрдм рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рдХреЛрдИ рднреА рдЧреНрд░реБрдкрдмрд╛рдп рдСрдкрд░реЗрд╢рди рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдСрдкрд░реЗрд╢рди (рдПрдХрддреНрд░реАрдХрд░рдг, рд░реЛрд▓рдЕрдк, рдпрд╛ рдЧрд┐рдирддреА) рдХрд░рддрд╛ рд╣реИред рдЖрдк рдпрд╛ рддреЛ рд░рдирд┐рдВрдЧ рдЯреЛрдЯрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрдпреА рдПрдХрддреНрд░реАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╡рд┐рдВрдбреЛ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рд╡рд┐рдВрдбреЛ рдХреЗ рднреАрддрд░ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.5 рдореЗрдВ рдХреЛрдб рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХреЗ рднреАрддрд░ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЪрд┐рддреНрд░ рдореЗрдВ. 5.13 рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЪрд░рдг рджрд░ рдЪрд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

windowedBy(SessionWindows.with(twentySeconds).until(fifteenMinutes)) рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд╣рдо 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,рдПрдлрдПрдлрдмреАрдИ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рд╕рддреНрд░ рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ 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 рдШрдВрдЯреЗ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрд╡рдзрд╛рд░рдг рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдВрдд рдореЗрдВ, рдЕрдм рд╡рд┐рдВрдбреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо - "рд╣реЙрдкрд┐рдВрдЧ" рд╡рд┐рдВрдбреЛ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред

рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ ("рдХреВрджрддреА") рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдБ

рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ/рд╣реЙрдкрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ, рдЯрдореНрдмрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝реЗ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рдеред рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рд╣рд╛рд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдЕрдВрдд рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рд╡реЗ рд╡рд┐рдВрдбреЛ рдЕрд╡рдзрд┐ рд╕реЗ рдХрдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рдж рдирдИ рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЯрдВрдмрд▓рд┐рдВрдЧ рдФрд░ рдЬрдВрдкрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд▓реЗрдирджреЗрди рдХреА рдЧрд┐рдирддреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЕрднреА рднреА рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░реЗ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдХрдо рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрднреА рднреА рд╣рд░ 20 рд╕реЗрдХрдВрдб рдореЗрдВ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рд░ 5 рд╕реЗрдХрдВрдб рдореЗрдВ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред 5.15. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рддреАрди рдкрд░рд┐рдгрд╛рдо рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.7 рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ (src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдПрдбрд╡рд╛рдВрд╕рдмрд╛рдп() рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдЯрдВрдмрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреЛ рд╣реЙрдкрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджрд┐рдЦрд╛рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдмрдЪрдд рдЕрдВрддрд░рд╛рд▓ 15 рдорд┐рдирдЯ рд╣реИред

рдЖрдкрдиреЗ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ рдПрдХрддреНрд░реАрдХрд░рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛ рддрдХ рдХреИрд╕реЗ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреАрди рдмрд╛рддреЗрдВ рдпрд╛рдж рд░рдЦреЗрдВ:

  • рд╕рддреНрд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рд╕рдордп рдЕрд╡рдзрд┐ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИ;
  • "рдЯрдореНрдмрд▓рд┐рдВрдЧ" рд╡рд┐рдВрдбреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рднреАрддрд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ;
  • рдЬрдВрдкрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреА рдЕрд╡рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП KTable рдХреЛ рд╡рд╛рдкрд╕ KStream рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

5.3.3. рдХреЗрд╕реНрдЯреНрд░реАрдо рдФрд░ рдХреЗрдЯреЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ, рд╣рдордиреЗ рджреЛ KStream рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред рдЕрдм рд╣рдореЗрдВ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ KTable рдФрд░ KStream рдХреЛ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдХрд╛рд░рдг рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреЗрд╕реНрдЯреНрд░реАрдо рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреА рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╣реИ, рдФрд░ рдХреЗрдЯреЗрдмрд▓ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯреНрд╕ рдХреА рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдк рдХреЗрдЯреЗрдмрд▓ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдХреЙрд░реНрдб рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдбреЗрдЯрд╛ рд▓реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЙрджреНрдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

  1. рд╕реНрдЯреЙрдХ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ KStream рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕ рд╕реНрдЯреЙрдХ рдкреНрд░рддреАрдХ рдХреЗ рдЕрдиреБрд░реВрдк рдЙрджреНрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХреБрдВрдЬреА рдмрджрд▓реЗрдВред
  2. рдПрдХ KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕рдорд╛рдЪрд╛рд░ рд╡рд╛рд▓реЗ рд╡рд┐рд╖рдп рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рддрд╛ рд╣реИред рдЗрд╕ рдирдП KTable рдХреЛ рдЙрджреНрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  3. рдЙрджреНрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдЪрд╛рд░ рдЕрдкрдбреЗрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрдпреЛрдЬрдирд╛ рдХреЛ рдХреИрд╕реЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

KTable рдХреЛ KStream рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ

KTable рдХреЛ KStream рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

  1. KTable.toStream() рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред
  2. 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)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рд░реНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдмрд╕реЗ рд╢реБрд░реБрдЖрддреА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рддрд╛рд▓рд┐рдХрд╛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рднрд░ рдЬрд╛рддреА рд╣реИред

рдЕрдм рд╣рдо рдЕрдВрддрд┐рдо рдЪрд░рдг - рдХрдиреЗрдХреНрд╢рди - рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрди-рджреЗрди рдЧрдгрдирд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдЪрд╛рд░ рдЕрдкрдбреЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдирд╛

рд╕рдВрдмрдВрдз рдмрдирд╛рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИ. рдпрджрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдЯреЙрдХ рд╕рдорд╛рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ рддреЛ рд╣рдо рд▓реЗрдлреНрдЯ рдЬреЙрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдлрд╝рд╛рдЗрд▓ src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) (рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.10)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдпрд╣ рд▓реЗрдлреНрдЯрдЬреЙрдЗрди рдСрдкрд░реЗрдЯрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, JoinWindow рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ KStream-KTable рдЬреЙрдЗрди рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП KTable рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХрдиреЗрдХреНрд╢рди рд╕рдордп рдореЗрдВ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ: рд░рд┐рдХреЙрд░реНрдб рдпрд╛ рддреЛ KTable рдореЗрдВ рд╣реИ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИред рдореБрдЦреНрдп рдирд┐рд╖реНрдХрд░реНрд╖: KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдХрдо рдмрд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде KStream рдХреЛ рд╕рдореГрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рд╣рдо рдХреЗрд╕реНрдЯреНрд░реАрдо рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдореГрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рддрд░реАрдХрд╛ рджреЗрдЦреЗрдВрдЧреЗред

5.3.4. рдЧреНрд▓реЛрдмрд▓рдХреЗрдЯреЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдореГрджреНрдз рдХрд░рдиреЗ рдпрд╛ рдЙрдирдореЗрдВ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ рдЖрдкрдиреЗ рджреЛ рдХреЗрд╕реНрдЯреНрд░реАрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрд╛, рдФрд░ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЖрдкрдиреЗ рдПрдХ рдХреЗрд╕реНрдЯреНрд░реАрдо рдФрд░ рдХреЗрдЯреЗрдмрд▓ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрд╛ред рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рдирдП рдкреНрд░рдХрд╛рд░ рдпрд╛ рдорд╛рди рдкрд░ рдореИрдк рдХрд░рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрднреА-рдХрднреА рдкреБрдирд░реНрд╡рд┐рднрд╛рдЬрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИред рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрджрд▓ рдЧрдИ рд╣реИрдВ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдирдП рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдХрдиреЗрдХреНрд╢рди рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдЗрд╕ рдкрд░ рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ, рдЙрдкрдзрд╛рд░рд╛ 4.2.4 рдореЗрдВ "рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдбреЗрдЯрд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА)ред

рдкреБрдирдГ рд╡рд┐рднрд╛рдЬрди рдХреА рдПрдХ рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИ

рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдордзреНрдпрд╡рд░реНрддреА рд╡рд┐рд╖рдп рдмрдирд╛рдиреЗ, рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рд╖рдп рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди рд▓рд╛рдЧрдд; рдЗрд╕рдХрд╛ рдорддрд▓рдм рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд▓рдВрдмрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рднреА рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрд╣рд▓реБрдУрдВ рдпрд╛ рдЖрдпрд╛рдореЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЬреБрдбрд╝рд╛рд╡реЛрдВ рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдмрджреНрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдирдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореИрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдЫреЛрдЯреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдкреВрд░реА рдкреНрд░рддрд┐рдпрд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЧреНрд▓реЛрдмрд▓рдХреЗрдЯреЗрдмрд▓ рдХреНрд▓рд╛рд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЧреНрд▓реЛрдмрд▓рдХреЗрдЯреЗрдмрд▓ рдЙрджрд╛рд╣рд░рдг рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдореМрдЬреВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЗрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рднреА рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛред рдЖрдк GlobalKTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рдирд╛ рдЪрд╛рдмреА рдХреЗ рдЬреЛрдбрд╝ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред

KStream рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ GlobalKTable рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

рдЙрдкрдзрд╛рд░рд╛ 5.3.2 рдореЗрдВ, рд╣рдордиреЗ рдЦрд░реАрджрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдирд┐рдордп рд▓реЗрдирджреЗрди рдХрд╛ рд╡рд┐рдВрдбреЛ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд┐рдпрд╛ред рдЗрд╕ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреЗ:

{customerId='074-09-3705', stockTicker='GUTM'}, 17
{customerId='037-34-5184', stockTicker='CORK'}, 16

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдиреЗ рдЙрджреНрджреЗрд╢реНрдп рдкреВрд░рд╛ рдХрд┐рдпрд╛, рдпрд╣ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо рдФрд░ рдХрдВрдкрдиреА рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛ред рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо рдФрд░ рдХрдВрдкрдиреА рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдЬреБрдбрд╝рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рджреЛ рдХреБрдВрдЬреА рдореИрдкрд┐рдВрдЧ рдФрд░ рдкреБрди: рд╡рд┐рднрд╛рдЬрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред GlobalKTable рд╕реЗ рдЖрдк рдРрд╕реЗ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреА рд▓рд╛рдЧрдд рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5.11 рд╕реЗ рдХрд╛рдЙрдВрдЯрд╕реНрдЯреНрд░реАрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб src/main/java/bbejeck/chapter_5/GlobalKTableExample.java рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рджреЛ GlobalKTable рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ toStream().map рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЛрдб рдХреЛ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдирд▓рд╛рдЗрди рд▓реИрдореНрдмреНрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдЧрд▓рд╛ рдЪрд░рдг 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 рдХреА рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ; рднрд╛рд╡реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ.

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ"
рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдкрд░ рджреЛрдмрд╛рд░рд╛ рдЧреМрд░ рдХрд░реЗрдВ: рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╡реЗрдВрдЯ рд╕реНрдЯреНрд░реАрдо (рдХреЗрд╕реНрдЯреНрд░реАрдо) рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреНрд░реАрдо (рдХреЗрдЯреЗрдмрд▓) рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк GlobalKTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЧреНрд▓реЛрдмрд▓рдХреЗрдЯреЗрдмрд▓реНрд╕ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЛрдб рдХреЗ рд╕рднреА рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ, рднрд▓реЗ рд╣реА рдХреБрдВрдЬреА рдХрд┐рд╕ рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реЛред

рдЖрдЧреЗ рд╣рдо рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдлреАрдЪрд░ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рд╣рдо рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдп рд╕реЗ рдбреЗрдЯрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

5.3.5. рдкреНрд░рд╢реНрдирдпреЛрдЧреНрдп рдЕрд╡рд╕реНрдерд╛

рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рдЬреНрдп рд╕реЗ рдЬреБрдбрд╝реЗ рдХрдИ рдСрдкрд░реЗрд╢рди рдХрд┐рдП рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдХрдВрд╕реЛрд▓ (рд╡рд┐рдХрд╛рд╕ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП) рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдЙрддреНрдкрд╛рджрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП)ред рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдкрд░ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреНрдХрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрди рд╡рд┐рд╖рдпреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рднреМрддрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: тАЬ...рдПрдХ рднреМрддрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рджреВрд░рд╕реНрде рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐, рдпрд╛ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░/рдпрд╛ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдПрдХ рдЙрдкрд╕рдореВрд╣ рдпрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдкрд░рд┐рдгрд╛рдо, рдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢ рддрд╛рд▓рд┐рдХрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИтАЭ (https://en.wikipedia.org/wiki) /рдордЯреЗрд░рд┐рдпрд▓рд╛рдЗрдЬреНрдб_рд╡реНрдпреВ).

рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдЖрдкрдХреЛ рд░рд╛рдЬреНрдп рдХреЗ рд╕реНрдЯреЛрд░реЛрдВ рдкрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреНрд╡реЗрд░реАрдЬрд╝ рдЪрд▓рд╛рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЗрди рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд░рд╛рдЬреНрдп рд╕реНрдЯреЛрд░ рдХреА рдХреНрд╡реЗрд░реА рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реЛ рддреЛ рдЖрдкрдХреЛ рдЧрд▓рддреА рд╕реЗ рд░рд╛рдЬреНрдп рдХреЛ рдЕрд╕рдВрдЧрдд рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

рд░рд╛рдЬреНрдп рднрдВрдбрд╛рд░реЛрдВ рд╕реЗ рд╕реАрдзреЗ рдкреВрдЫрддрд╛рдЫ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрд╛рдлреНрдХрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ рдбреЗрдЯрд╛ рд▓рд╛рдП рдмрд┐рдирд╛ рдбреИрд╢рдмреЛрд░реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рднреА рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ:

  • рдбреЗрдЯрд╛ рдХреА рд╕реНрдерд╛рдиреАрдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЙрди рддрдХ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
  • рдбреЗрдЯрд╛ рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рд╣реНрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЦреНрдп рдмрд╛рдд рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╕реАрдзреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рднреАрддрд░ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдЬреЛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрдврд╝рд╛-рдЪрдврд╝рд╛рдХрд░ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ред рдХрд╛рдлреНрдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп рднрдВрдбрд╛рд░ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░рд╛рдЬреНрдп рднрдВрдбрд╛рд░реЛрдВ рдореЗрдВ рд╕реАрдзреЗ рдкреВрдЫрддрд╛рдЫ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрдо рдХреЛрдб (рдХреЛрдИ рдЙрдкрднреЛрдХреНрддрд╛ рдирд╣реАрдВ) рдФрд░ рдХрдо рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ (рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред

рд╣рдордиреЗ рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрд╡рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд░рд╛рдЬреНрдп рдХреЗ рд╕реНрдЯреЛрд░реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рдЕрдкрдиреА рдЪрд░реНрдЪрд╛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ: рдЕрдзреНрдпрд╛рдп 9 рдореЗрдВ, рд╣рдо рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рдбреИрд╢рдмреЛрд░реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗред рдпрд╣ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдпреЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╛рд░рд╛рдВрд╢

  • рдХреЗрд╕реНрдЯреНрд░реАрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдШрдЯрдирд╛рдУрдВ рдХреА рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрдбреЗрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреА рддрд░рд╣ред KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрдврд╝рддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдирдП рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдПрдХрддреНрд░реАрдХрд░рдг рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП KTable рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
  • рд╡рд┐рдВрдбреЛрд┐рдВрдЧ рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХрддреНрд░рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдЯрд╛рдЗрдо рдмрдХреЗрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЧреНрд▓реЛрдмрд▓рдХреЗрдЯреЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рд╡рд┐рднрд╛рдЬрди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╣реАрдВ рднреА рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред
  • KStream, KTable рдФрд░ GlobalKTable рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рд╕рдВрднрд╡ рд╣реИред

рдЕрдм рддрдХ, рд╣рдордиреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдХреЗрд╕реНрдЯреНрд░реАрдо рдбреАрдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рд╕рд╛рдл-рд╕реБрдерд░реЗ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдбреАрдПрд╕рдПрд▓ рдХреЗрд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рдирд┐рдпрдВрддреНрд░рдг рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдХрдо рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣реИред рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╣реИрдВрдбрд▓рд░ рдиреЛрдб рдПрдкреАрдЖрдИ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдЕрдиреНрдп рдЯреНрд░реЗрдб-рдСрдлрд╝ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдВрдмреЗ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рдо рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рд╣реИрдВрдбрд▓рд░ рдиреЛрдб рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

тЖТ рдкреБрд╕реНрддрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ рдкреНрд░рдХрд╛рд╢рдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ

тЖТ рд╣реИрдмреНрд░реЛрдЭрд┐рдЯреЗрд▓реА рдХреЗ рд▓рд┐рдП рдХреВрдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 25% рдЫреВрдЯ - рдХрд╛рдлреНрдХрд╛ рдзрд╛рд░рд╛рдПрдБ

тЖТ рдкреБрд╕реНрддрдХ рдХреЗ рдХрд╛рдЧрдЬреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдкрд░, рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХ рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреА рдЬрд╛рдПрдЧреАред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ