рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"

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

рдЕрдВрд╢ред рел.рейред рдПрдЧреНрд░реАрдЧреЗрд╢рди рд░ рд╡рд┐рдиреНрдбреЛрд┐рдЩ рдЕрдкрд░реЗрд╕рдирд╣рд░реВ

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

  • рдПрдХ рдкреНрд░рд╢реЛрдзрди рдЯреЛрдкреЛрд▓рдЬреА рд╕рд┐рд░реНрдЬрдирд╛;
  • рд╕реНрдЯреНрд░рд┐рдорд┐рдЩ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рд░рд╛рдЬреНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ;
  • рдбрд╛рдЯрд╛ рд╕реНрдЯреНрд░рд┐рдо рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджреИ;
  • рдШрдЯрдирд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ (KStream) рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ (KTable) рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ред

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ рд╣рд╛рдореА рдпреА рд╕рдмреИ рддрддреНрд╡рд╣рд░реВ рд╕рдБрдЧреИ рд▓реНрдпрд╛рдЙрдиреЗрдЫреМрдВред рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдЯреНрд░рд┐рдорд┐рдЩ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрдХреЛ рдЕрд░реНрдХреЛ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛, windowing рдмрд╛рд░реЗ рдкрдирд┐ рд╕рд┐рдХреНрдиреБрд╣реБрдиреЗрдЫред рд╣рд╛рдореНрд░реЛ рдкрд╣рд┐рд▓реЛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдХрддреНрд░реАрдХрд░рдг рд╣реБрдиреЗрдЫред

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

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

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

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

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

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

KStream.groupBy рд░ KStream.groupByKey рд╡рд┐рдзрд┐рд╣рд░реВрд▓реЗ KGroupedStream рдХреЛ рдЙрджрд╛рд╣рд░рдг рдлрд░реНрдХрд╛рдЙрдБрдЫред KGroupedStream рдХреБрдЮреНрдЬреАрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣рдмрджреНрдз рдЧрд░реЗрдкрдЫрд┐ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕реНрдЯреНрд░рд┐рдордХреЛ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реЛред рдпреЛ рд╕рдмреИрд╕рдБрдЧ рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрднрд┐рдкреНрд░реЗрд░рд┐рдд рдЫреИрдиред рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛, рдХреЗрдбреАрдИ рд╕рдореВрд╣ рд╕реНрдЯреНрд░рд┐рдо рдПрдЧреНрд░рд┐рдЧреЗрд╕рди рд╕рдЮреНрдЪрд╛рд▓рдирдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╕рдзреИрдВ рдХреЗрдбреАрдИ рддрд╛рд▓рд┐рдХрд╛ рд╣реБрдиреНрдЫред рд░ рдЬрдм рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛ KTable рд╣реЛ рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд░рд╛рдЬреНрдп рд╕реНрдЯреЛрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН, рдпреЛ рд╕рдореНрднрд╡ рдЫ рдХрд┐ рдкрд░рд┐рдгрд╛рдордХреЛ рд░реВрдкрдорд╛ рд╕рдмреИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рддрд▓ рдкрдард╛рдЗрдБрджреИрдиред

KTable.groupBy рд╡рд┐рдзрд┐рд▓реЗ рд╕рдорд╛рди KGroupedTable рдлрд░реНрдХрд╛рдЙрдБрдЫ - рдЕрдкрдбреЗрдЯрд╣рд░реВрдХреЛ рд╕реНрдЯреНрд░рд┐рдордХреЛ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдХреБрдЮреНрдЬреАрджреНрд╡рд╛рд░рд╛ рдкреБрди: рд╕рдореВрд╣рдмрджреНрдзред

рдПрдХ рдЫреЛрдЯреЛ рд╡рд┐рд╢реНрд░рд╛рдо рд▓рд┐рдиреБрд╣реЛрд╕реН рд░ рдЪрд┐рддреНрд░рдорд╛ рд╣реЗрд░реМрдВред 5.9, рдЬрд╕рд▓реЗ рд╣рд╛рдореАрд▓реЗ рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реЗрдХрд╛ рдЫреМрдВ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдБрдЫред рдпреЛ рдЯреЛрдкреЛрд▓реЛрдЬреА рддрдкрд╛рдИрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБрдкрд░реНрдЫред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рдЕрдм рдпреЛ рдЯреЛрдкреЛрд▓реЛрдЬреАрдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рд╣реЗрд░реМрдВ (рдпреЛ src/main/java/bbejeck/chapter_5/AggregationsAndReducingExample.java рдлрд╛рдЗрд▓рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ) (рд╕реВрдЪреА 5.2)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рджрд┐рдЗрдПрдХреЛ рдХреЛрдб рдпрд╕рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рд░ рдзреЗрд░реИ рд▓рд╛рдЗрдирд╣рд░реВрдорд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХреЛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдиреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ builder.stream рд╡рд┐рдзрд┐рдХреЛ рдкрд╣рд┐рд▓реЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ рдХреЗрд╣реА рдирдпрд╛рдБ рдХреБрд░рд╛ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: Enum рдкреНрд░рдХрд╛рд░ AutoOffsetReset.EARLIEST (рддреНрдпрд╣рд╛рдБ рдкрдЫрд┐рд▓реНрд▓реЛ рдкрдирд┐ рдЫ), Consumed.withOffsetResetPolicy рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдорд╛рдиред рдпреЛ рдЧрдгрдирд╛ рдкреНрд░рдХрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ KStream рд╡рд╛ KTable рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдлрд╕реЗрдЯ рд░рд┐рд╕реЗрдЯ рд░рдгрдиреАрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдмрд╛рдЯ рдЕрдлрд╕реЗрдЯ рд░рд┐рд╕реЗрдЯ рд╡рд┐рдХрд▓реНрдкрдорд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓рд┐рдиреНрдЫред

GroupByKey рд░ GroupBy

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

GroupByKey рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдЬрдм рдХреЗрдбреАрдИ рд╕реНрдЯреНрд░рд┐рдордорд╛ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдЦрд╛рд▓реА рдЫреИрдирдиреНред рд░ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛, "рдкреБрдирдГ рд╡рд┐рднрд╛рдЬрди рдЖрд╡рд╢реНрдпрдХ рдЫ" рдЭрдгреНрдбрд╛ рдХрд╣рд┐рд▓реНрдпреИ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрдиред

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

mapValues тАЛтАЛрд░ groupBy рд╡рд┐рдзрд┐рд╣рд░реВрд▓реЗ рдХреЗ рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛ рд╕реНрдкрд╖реНрдЯ рдЫ, рддреНрдпрд╕реИрд▓реЗ sum() рд╡рд┐рдзрд┐ (src/main/java/bbejeck/model/ShareVolume.java рдорд╛ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ) (рд▓рд┐рд╕реНрдЯрд┐рдЩ рел.рей) рдорд╛ рд╣реЗрд░реМрдВред

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

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

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

рдЪрд┐рддреНрд░рдорд╛ред рдЪрд┐рддреНрд░ 5.10 рд▓реЗ рдбрд╛рдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдЯреЛрдкреЛрд▓реЛрдЬреА рдЧреНрд░рд╛рдл рджреЗрдЦрд╛рдЙрдБрдЫред рддрдкрд╛рдИрдВ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкреНрд░рд╢реЛрдзрди рдХреЛ рджреЛрд╕реНрд░реЛ рд░рд╛рдЙрдиреНрдб рдПрдХрджрдо рд╕рд░рд▓ рдЫред

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

рдпреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдкрдЩреНрдХреНрддрд┐ рдЪрд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдпреЛ рдПрдЙрдЯрд╛ рдЕрдиреБрдХреВрд▓рди рд╡рд╕реНрддреБ рд╣реЛ рдЬреБрди java.util.TreeSet рдХреЛ рд▓рд╛рдЧрд┐ рдПрдбрд╛рдкреНрдЯрд░ рд╣реЛ рдЬреБрди рдЯреНрд░реЗрдб рдЧрд░рд┐рдПрдХреЛ рд╢реЗрдпрд░рд╣рд░реВрдХреЛ рдШрдЯреНрджреЛ рдХреНрд░рдордорд╛ рд╢реАрд░реНрд╖ N рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рддрдкрд╛рдИрдВрд▓реЗ GroupBy рд░ mapValues тАЛтАЛрдХрд▓рд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рджреЗрдЦреНрдиреБрднрдПрдХреЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рддреА рдХрд▓рд╣рд░реВрдорд╛ рдЬрд╛рдиреЗ рдЫреИрдиреМрдВ (рд╣рд╛рдореА KTable.toStream рд╡рд┐рдзрд┐рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджреИрдЫреМрдВ рдХрд┐рдирднрдиреЗ KTable.print рд╡рд┐рдзрд┐ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ)ред рддрд░ рддрдкрд╛рдИрдБрд▓реЗ рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо aggregate() рдХреЛ KTable рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреНрдиреБрднрдПрдХреЛ рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рддреНрдпрд╕рдмрд╛рд░реЗ рдЫрд▓рдлрд▓ рдЧрд░реНрди рдереЛрд░реИ рд╕рдордп рдЦрд░реНрдЪ рдЧрд░реНрдиреЗрдЫреМрдВред

рддрдкрд╛рдИрдБрд▓реЗ рдпрд╛рдж рдЧрд░реЗрдЭреИрдВ, рдХреЗрдЯреЗрдмрд▓рд▓рд╛рдИ рдлрд░рдХ рдкрд╛рд░реНрдиреЗ рдХреБрд░рд╛ рдХреЗ рд╣реЛ рдХрд┐ рдПрдЙрдЯреИ рдХреБрдЮреНрдЬреАрд╣рд░реВ рднрдПрдХрд╛ рд░реЗрдХрд░реНрдбрд╣рд░реВрд▓рд╛рдИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдорд╛рдирд┐рдиреНрдЫред KTable рд▓реЗ рдкреБрд░рд╛рдиреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд▓рд╛рдИ рдирдпрд╛рдБрд╕рдБрдЧ рдмрджрд▓реНрдЫред рдПрдЧреНрд░реАрдЧреЗрд╢рди рдПрдХ рд╕рдорд╛рди рддрд░рд┐рдХрд╛рдорд╛ рд╣реБрдиреНрдЫ: рдПрдЙрдЯреИ рдХреБрдЮреНрдЬреА рд╕рдВрдЧ рдирд╡реАрдирддрдо рд░реЗрдХрд░реНрдб рдПрдХрддреНрд░рд┐рдд рдЫрдиреНред рдЬрдм рдПрдХ рд░реЗрдХрд░реНрдб рдЖрдЙрдБрдЫ, рдпреЛ рдПрдХ adder рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ FixedSizePriorityQueue рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдердкрд┐рдиреНрдЫ (рд╕рдордЧреНрд░ рд╡рд┐рдзрд┐ рдХрд▓рдорд╛ рджреЛрд╕реНрд░реЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░), рддрд░ рдпрджрд┐ рдЙрд╣реА рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рдЕрд░реНрдХреЛ рд░реЗрдХрд░реНрдб рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ, рдкреБрд░рд╛рдиреЛ рд░реЗрдХрд░реНрдб рдШрдЯрд╛рдЙрдиреЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рдЯрд╛рдЗрдиреНрдЫ (рддреЗрд╕реНрд░реЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕рдордЧреНрд░ рд╡рд┐рдзрд┐ рдХрд▓)ред

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

рд╣рд╛рдореАрд▓реЗ рджреБрдИрд╡рдЯрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛рд╣рд░реВ рдЧрд░реНрди рд╕рд┐рдХреНрдпреМрдВ:

  • рд╕рд╛рдЭрд╛ рдХреБрдЮреНрдЬреАрджреНрд╡рд╛рд░рд╛ рдХреЗрдбреАрдИ рдЯреЗрдмрд▓рдорд╛ рд╕рдореВрд╣ рдорд╛рдирд╣рд░реВ;
  • рдпреА рд╕рдореВрд╣рдмрджреНрдз рдорд╛рдирд╣рд░реВрдорд╛ рд░реЛрд▓рдЕрдк рд░ рдПрдЧреНрд░реАрдЧреЗрд╕рди рдЬрд╕реНрддрд╛ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдорд╛рд░реНрдлрдд рд╕рд░реНрдиреЗ рдбрд╛рдЯрд╛рдХреЛ рдЕрд░реНрде рдмреБрдЭреНрди рд░ рдпрд╕рд▓реЗ рдХреЗ рдЬрд╛рдирдХрд╛рд░реА рдмреЛрдХреНрдЫ рднрдиреНрдиреЗ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпреА рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд╕рд░реА рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдЬрд╛рдиреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред

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

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

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

рел.рей.реиред рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╕рдЮреНрдЪрд╛рд▓рди

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

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

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

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

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

рдпрд╕реНрддреЛ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рдирд┐рдореНрди рдЪрд░рдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢:

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

рдпрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдЯреЛрдкреЛрд▓реЛрдЬреА рд╕рд░рд▓ рдЫ, рддрд░ рдпрд╕рдХреЛ рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред рдЪрд┐рддреНрд░рдорд╛ рдПрдХ рдирдЬрд░ рд░рд╛рдЦреМрдВред рел.резрезред

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЛрдб рд╣реЗрд░реНрдиреЗрдЫреМрдВред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"

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

рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрдорд╛ рддреАрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдЭреНрдпрд╛рд▓рд╣рд░реВ рдЫрдиреН:

  • рд╕рддреНрд░реАрдп;
  • "рдЯрдореНрдмрд▓рд┐рдВрдЧ";
  • рд╕реНрд▓рд╛рдЗрдбрд┐рдЩ/рд╣рдкрд┐рдЩред

рдХреБрди рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рддрдкрд╛рдИрдВрдХреЛ рд╡реНрдпрд╡рд╕рд╛рдп рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рдЯрдореНрдмрд▓рд┐рдЩ рд░ рдЬрдореНрдкрд┐рдЩ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рд╕рдордп-рд╕реАрдорд┐рдд рдЫрдиреН, рдЬрдмрдХрд┐ рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдЫрдиреНтАФрд╕рддреНрд░(рд╣рд░реВ) рдХреЛ рдЕрд╡рдзрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдХрддрд┐ рд╕рдХреНрд░рд┐рдп рдЫ рднрдиреЗрд░ рдорд╛рддреНрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред рдпрд╛рдж рдЧрд░реНрди рдореБрдЦреНрдп рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╕рдмреИ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВрдХреЛ рдорд┐рддрд┐/рд╕рдордп рд╕реНрдЯреНрдпрд╛рдореНрдкрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫрдиреН, рдкреНрд░рдгрд╛рд▓реА рд╕рдордп рд╣реЛрдЗрдиред

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдиреНрдбреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рд╛рде рд╣рд╛рдореНрд░реЛ рдЯреЛрдкреЛрд▓реЛрдЬреА рд▓рд╛рдЧреВ рдЧрд░реНрдЫреМрдВред рдкреВрд░реНрдг рдХреЛрдб рдкрд╣рд┐рд▓реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдорд╛рддреНрд░ рджрд┐рдЗрдиреЗрдЫ; рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдкреНрд░рдХрд╛рд░ рдмрд╛рд╣реЗрдХ рдХреЗрд╣реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫреИрдиред

рд╕рддреНрд░ рд╡рд┐рдиреНрдбреЛрдЬ

рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рдЕрдиреНрдп рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рднрдиреНрджрд╛ рдзреЗрд░реИ рдлрд░рдХ рдЫрдиреНред рддрд┐рдиреАрд╣рд░реВ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐ (рд╡рд╛ рддрдкрд╛рдИрдВрд▓реЗ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рдЪрд╛рд╣рд╛рдиреБ рднрдПрдХреЛ рдЗрдХрд╛рдИрдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐) рджреНрд╡рд╛рд░рд╛ рд╕рдордп рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдЫреИрдирдиреНред рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛рдХреЛ рдЕрд╡рдзрд┐рджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдПрдХреЛ рдЫред

рдЪрд┐рддреНрд░ рел.резреи рд▓реЗ рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛рд▓рд╛рдИ рдЪрд┐рддреНрд░рдг рдЧрд░реНрджрдЫред рд╕рд╛рдиреЛ рд╕рддреНрд░ рдпрд╕рдХреЛ рдмрд╛рдпрд╛рдБрддрд┐рд░рдХреЛ рд╕рддреНрд░рд╕рдБрдЧ рдорд░реНрдЬ рд╣реБрдиреЗрдЫред рд░ рджрд╛рдпрд╛рдБрддрд┐рд░рдХреЛ рд╕рддреНрд░ рдЕрд▓рдЧ рд╣реБрдиреЗрдЫ рдХрд┐рдирднрдиреЗ рдпрд╕рд▓реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛рдХреЛ рд▓рд╛рдореЛ рдЕрд╡рдзрд┐ рдкрдЫреНрдпрд╛рдЙрдБрдЫред рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫрдиреН, рддрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВрдмрд╛рдЯ рдорд┐рддрд┐/рд╕рдордп рд╕реНрдЯреНрдпрд╛рдореНрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреБрди рд╕рддреНрд░рдХреЛ рд╣реЛ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"

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

рдПрдХреНрд╕рдЪреЗрдиреНрдЬ рд▓реЗрдирджреЗрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реМрдВред рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реВрдЪреА 5.5 рдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫ (рдЬреБрди src/main/java/bbejeck/chapter_5/CountingWindowingAndKTableJoinExample.java рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред

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

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

рд▓рд┐рд╕реНрдЯрд┐рдЩ 5.5 рдорд╛ рднрдПрдХреЛ рдХреЛрдбрд▓реЗ рд╕рддреНрд░ рд╡рд┐рдиреНрдбреЛрдЬ рднрд┐рддреНрд░рдХреЛ рд▓реЗрдирджреЗрдирдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫред рдЪрд┐рддреНрд░рдорд╛ред 5.13 рдпреА рдХрд╛рд░реНрдпрд╣рд░реВ рдЪрд░рдгрдмрджреНрдз рд░реВрдкрдорд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░рд┐рдиреНрдЫред

windowedBy(SessionWindows.with(twentySeconds).until(FifteenMinutes)) рд▓рд╛рдИ рдХрд▓ рдЧрд░реЗрд░ рд╣рд╛рдореА 20 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдЕрдиреНрддрд░рд╛рд▓ рд░ 15 рдорд┐рдиреЗрдЯрдХреЛ рдирд┐рд░рдиреНрддрд░рддрд╛ рдЕрдиреНрддрд░рд╛рд▓ рднрдПрдХреЛ рд╕рддреНрд░ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВред 20 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЕрдиреНрддрд░рд╛рд▓рдХреЛ рдЕрд░реНрде рд╣реЛ рдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рд╣рд╛рд▓рдХреЛ (рд╕рдХреНрд░рд┐рдп) рд╕рддреНрд░рдорд╛ рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░рдХреЛ рдЕрдиреНрддреНрдп рд╡рд╛ рд╕реБрд░реБ рднрдПрдХреЛ реиреж рд╕реЗрдХреЗрдиреНрдб рднрд┐рддреНрд░ рдЖрдЗрдкреБрдЧреЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

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

рд╕рддреНрд░рд╣рд░реВрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреЗрд░ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЧрдгрдирд╛ рд╡рд┐рдзрд┐рдмрд╛рдЯ рдХреЗрд╣реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВ рд╣реЗрд░реМрдВ (рддрд╛рд▓рд┐рдХрд╛ рел.рез)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рдЬрдм рд░реЗрдХрд░реНрдбрд╣рд░реВ рдЖрдЗрдкреБрдЧреНрдЫрдиреН, рд╣рд╛рдореА рдПрдЙрдЯреИ рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рдЕрд╡рд╕реНрдерд┐рдд рд╕рддреНрд░рд╣рд░реВ рдЦреЛрдЬреНрдЫреМрдВ, рд╣рд╛рд▓рдХреЛ рдорд┐рддрд┐/рд╕рдордп рд╕реНрдЯреНрдпрд╛рдореНрдк - рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдЕрдиреНрддрд░рд╛рд▓ рднрдиреНрджрд╛ рдХрдо рд╕рдорд╛рдкреНрддрд┐ рд╕рдордп, рд░ рд╣рд╛рд▓рдХреЛ рдорд┐рддрд┐/рд╕рдордп рд╕реНрдЯреНрдпрд╛рдореНрдк + рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдЕрдиреНрддрд░рд╛рд▓ рднрдиреНрджрд╛ рдареВрд▓реЛ рд╕реБрд░реБ рд╕рдордпред рдпрд╕рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рдЪрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВред 5.1 рд▓рд╛рдИ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдХрд▓ рд╕рддреНрд░рдорд╛ рдорд░реНрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫред

1. рд░реЗрдХрд░реНрдб 1 рдкрд╣рд┐рд▓реЗ рдЖрдЗрдкреБрдЧреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╕реБрд░реБ рд╕рдордп рдЕрдиреНрдд рд╕рдордп рдмрд░рд╛рдмрд░ рдЫ рд░ 00:00:00 рдЫред

2. рдЕрд░реНрдХреЛ, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ 2 рдЖрдЙрдБрдЫ, рд░ рд╣рд╛рдореА рд╕рддреНрд░рд╣рд░реВ рдЦреЛрдЬреНрдЫреМрдВ рдЬреБрди 23:59:55 рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ рд╕рдорд╛рдкреНрдд рд╣реБрдБрджреИрди рд░ 00:00:35 рднрдиреНрджрд╛ рдкрдЫрд┐ рд╕реБрд░реБ рд╣реБрдБрджреИрдиред рд╣рд╛рдореАрд▓реЗ рд░реЗрдХрд░реНрдб 1 рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВ рд░ рд╕рддреНрд░ 1 рд░ 2 рд▓рд╛рдИ рдЬреЛрдбреНрдЫреМрдВред рд╣рд╛рдореА рд╕рддреНрд░ 1 (рдкрд╣рд┐рд▓реЗ) рд░ рд╕рддреНрд░ 2 рдХреЛ рдЕрдиреНрддреНрдп рд╕рдордп (рдкрдЫрд┐) рд▓рд┐рдиреНрдЫреМрдВ, рддрд╛рдХрд┐ рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рд╕рддреНрд░ 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 рд▓реЗ рдпреЛ рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ рдЪрд┐рддреНрд░рдг рдЧрд░реНрджрдЫред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкрдЫрд┐рд▓реНрд▓реЛ реиреж рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдкреНрд░рд╛рдкреНрдд рднрдПрдХрд╛ рд╕рдмреИ рдШрдЯрдирд╛рд╣рд░реВ рд╡рд┐рдиреНрдбреЛрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рд╕рдордпрдХреЛ рдпрд╕ рдЕрд╡рдзрд┐рдХреЛ рдЕрдиреНрддреНрдпрдорд╛, рдирдпрд╛рдБ рд╡рд┐рдиреНрдбреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕реВрдЪреА рел.рем рд▓реЗ рдХреЛрдб рджреЗрдЦрд╛рдЙрдБрдЫ рдЬрд╕рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ реиреж рд╕реЗрдХреЗрдиреНрдбрдорд╛ рд╕реНрдЯрдХ рд▓реЗрдирджреЗрдирд╣рд░реВ рдХреНрдпрд╛рдкреНрдЪрд░ рдЧрд░реНрди рдЯрдореНрдмрд▓рд┐рдВрдЧ рд╡рд┐рдиреНрдбреЛрдХреЛ рдкреНрд░рдпреЛрдЧ рджреЗрдЦрд╛рдЙрдБрдЫ (src/main/java/bbejeck/chapter_5.6/CountingWindowingAndKtableJoinExample.java рдорд╛ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ рдЫ)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
TimeWindows.of рд╡рд┐рдзрд┐ рдХрд▓рдорд╛ рдпреЛ рд╕рд╛рдиреЛ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рд╕рд╛рде, рддрдкрд╛рдИрдВрд▓реЗ рдЯрдореНрдмрд▓рд┐рдВрдЧ рд╡рд┐рдиреНрдбреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕ рдЙрджрд╛рд╣рд░рдгрд▓реЗ till() рд╡рд┐рдзрд┐рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджреИрди, рддреНрдпрд╕реИрд▓реЗ 24 рдШрдгреНрдЯрд╛рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрд╡рдзрд╛рд░рдг рдЕрдиреНрддрд░рд╛рд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫред

рдЕрдиреНрддрдорд╛, рдпреЛ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рдЕрдиреНрддрд┐рдордорд╛ рдЬрд╛рдиреЗ рд╕рдордп рд╣реЛ - "рд╣рдкрд┐рдЩ" рд╡рд┐рдиреНрдбреЛрдЬред

рд╕реНрд▓рд╛рдЗрдбрд┐рдЩ ("рдЬрдореНрдкрд┐рдЩ") рд╡рд┐рдиреНрдбреЛрдЬ

рд╕реНрд▓рд╛рдЗрдбрд┐рдЩ/рд╣рдкрд┐рдЩ рд╡рд┐рдиреНрдбреЛрд╣рд░реВ рдЯрдореНрдмрд▓рд┐рдВрдЧ рд╡рд┐рдиреНрдбреЛрдЬ рдЬрд╕реНрддреИ рд╣реБрдиреНрдЫрдиреН, рддрд░ рдереЛрд░реИ рднрд┐рдиреНрдирддрд╛рдХрд╛ рд╕рд╛рдеред рд╣рд╛рд▓рдХрд╛ рдШрдЯрдирд╛рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдирдпрд╛рдБ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБ рдЕрдШрд┐ рд╕реНрд▓рд╛рдЗрдбрд┐рдЩ рд╡рд┐рдиреНрдбреЛрд╣рд░реВрд▓реЗ рд╕рдордп рдЕрдиреНрддрд░рд╛рд▓рдХреЛ рдЕрдиреНрддреНрдпрд╕рдореНрдо рдкрд░реНрдЦрджреИрдиред рддрд┐рдиреАрд╣рд░реВ рд╡рд┐рдиреНрдбреЛ рдЕрд╡рдзрд┐ рднрдиреНрджрд╛ рдХрдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрдиреНрддрд░рд╛рд▓ рдкрдЫрд┐ рдирдпрд╛рдБ рдЧрдгрдирд╛рд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрдЫрдиреНред

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

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рд╕реВрдЪреА 5.7 рд▓реЗ рд╕реНрд▓рд╛рдЗрдбрд┐рдЩ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рджреЗрдЦрд╛рдЙрдБрдЫ (src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java рдорд╛ рдкрд╛рдЗрдиреНрдЫ)ред

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

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

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

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рдЬрдбрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ KTable рд▓рд╛рдИ рдХреЗрдбреАрдИ рд╕реНрдЯреНрд░рд┐рдордорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рд╕рд┐рдХреНрдиреЗ рдЫреМрдБред

рел.рей.рейред KStream рд░ KTable рд╡рд╕реНрддреБрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрджреИ

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

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

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

рдЕрдм рдпреЛ рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдХрд╕рд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рд╣реЗрд░реМрдВред

KTable рд▓рд╛рдИ KStream рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН

KTable рд▓рд╛рдИ KStream рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рдореНрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

  1. KTable.toStream() рд╡рд┐рдзрд┐рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  2. KStream.map рд╡рд┐рдзрд┐рд▓рд╛рдИ рдХрд▓ рдЧрд░реЗрд░, рдЙрджреНрдпреЛрдЧ рдирд╛рдордХреЛ рд╕рд╛рде рдХреБрдЮреНрдЬреА рдмрджрд▓реНрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ Windowed рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ TransactionSummary рд╡рд╕реНрддреБ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореА рдпреА рдЕрдкрд░реЗрд╕рдирд╣рд░реВрд▓рд╛рдИ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдХрд╕рд╛рде рдЬреЛрдбреНрдиреЗрдЫреМрдВ (рдХреЛрдб src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java рдлрд╛рдЗрд▓рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ) (рд╕реВрдЪреА 5.8)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рдХрд┐рдирднрдиреЗ рд╣рд╛рдореАрд▓реЗ KStream.map рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ, рдлрд░реНрдХрд╛рдЗрдПрдХреЛ KStream рдЙрджрд╛рд╣рд░рдг рдЬрдбрд╛рдирдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдБрджрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдкреБрди: рд╡рд┐рднрд╛рдЬрди рд╣реБрдиреНрдЫред

рд╣рд╛рдореАрд▓реЗ рд░реВрдкрд╛рдиреНрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░рд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рд╕реНрдЯрдХ рд╕рдорд╛рдЪрд╛рд░ рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрдЯреЗрдмрд▓ рд╡рд╕реНрддреБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕реНрдЯрдХ рд╕рдорд╛рдЪрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ KTable рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛

рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, KTable рд╡рд╕реНрддреБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдХреЛрдбрдХреЛ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рд▓рд╛рдЗрди рд▓рд╛рдЧреНрдЫ (рдХреЛрдб src/main/java/bbejeck/chapter_5/CountingWindowingAndKtableJoinExample.java рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ) (рд▓рд┐рд╕реНрдЯрд┐рдЩ рел.реп)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"
рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдХреБрдиреИ Serde рд╡рд╕реНрддреБрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рдХрд┐рдирдХрд┐ рд╕реНрдЯреНрд░рд┐рдЩ Serdes рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рд╕рд╛рдереИ, рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрдгрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрд╛рд▓рд┐рдХрд╛ рд╕реБрд░реБрдореИ рд░реЗрдХрд░реНрдбрд╣рд░реВрд▓реЗ рднрд░рд┐рдПрдХреЛ рдЫред

рдЕрдм рд╣рд╛рдореА рдЕрдиреНрддрд┐рдо рдЪрд░рдгрдорд╛ рдЬрд╛рди рд╕рдХреНрдЫреМрдВ - рдЬрдбрд╛рдиред

рд▓реЗрдирджреЗрди рдЧрдгрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧ рд╕рдорд╛рдЪрд╛рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЬрдбрд╛рди

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

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

рдЕрдм рд╣рд╛рдореА рдХреЗрдбреАрдИ рд╕реНрдЯреНрд░рд┐рдордмрд╛рдЯ рдШрдЯрдирд╛рд╣рд░реВ рд╕рдореГрджреНрдз рдЧрд░реНрди рдЕрдЭ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рддрд░рд┐рдХрд╛ рд╣реЗрд░реНрдиреЗрдЫреМрдВред

рел.рей.рекред GlobalKTable рд╡рд╕реНрддреБрд╣рд░реВ

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

рдкреБрди: рд╡рд┐рднрд╛рдЬрди рд▓рд╛рдЧрдд рдЫ

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

рд╕рд╛рдирд╛ рдбреЗрдЯрд╛рд╕реЗрдЯрд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

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

GlobalKTable рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЕрджреНрд╡рд┐рддреАрдп рдЫрдиреН рдХрд┐рдирднрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╣рд░реВрдорд╛ рд╕рдмреИ рдбреЗрдЯрд╛ рдирдХреНрдХрд▓ рдЧрд░реНрджрдЫред рд░ рд╕рдмреИ рдбреЗрдЯрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдорд╛ рдЙрдкрд╕реНрдерд┐рдд рднрдПрдХреЛрд▓реЗ, рдШрдЯрдирд╛ рд╕реНрдЯреНрд░рд┐рдорд▓рд╛рдИ рд╕рдиреНрджрд░реНрдн рдбреЗрдЯрд╛ рдХреБрдЮреНрдЬреАрджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рддрд╛рдХрд┐ рдпреЛ рд╕рдмреИ рд╡рд┐рднрд╛рдЬрдирд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫред рддрдкрд╛рдИрд▓реЗ 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 рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рд░рд╣реЗрдХреЛ рдХреЛрдб рдкрдвреНрди рдпреЛрдЧреНрдпрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЗрдирд▓рд╛рдЗрди lambda рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рд╕рдЯреНрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд╡рд╕реНрддреБрдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫред

рдЕрд░реНрдХреЛ рдЪрд░рдг рднрдиреЗрдХреЛ GlobalKTable рдХреЛ рджреБрдИ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрдиреБ рд╣реЛ (рджреЗрдЦрд╛рдЗрдПрдХреЛ рдХреЛрдб src/main/java/bbejeck/chapter_5/GlobalKTableExample.java рдлрд╛рдЗрд▓рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ) (рд▓рд┐рд╕реНрдЯрд┐рдЩ рел.резреи)ред

рдкреБрд╕реНрддрдХ "рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕ рдЗрди рдПрдХреНрд╢рдиред рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ"

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рд╡рд┐рд╖рдп рдирд╛рдорд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫред

рдЕрдм рд╣рд╛рдореАрд╕рдБрдЧ рд╕рдмреИ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рддрдпрд╛рд░ рдЫрдиреН, рдЬрдбрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рд▓реЗрдЦреНрди рдмрд╛рдБрдХреА рдЫ (рдЬреБрди рдлрд╛рдЗрд▓ src/main/java/bbejeck/chapter_5/GlobalKTableExample.java рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ) (рд╕реВрдЪреА 5.13)ред

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

рдЬрдм рддрдкрд╛рдЗрдБ рдорд╛рдерд┐рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЕрдкрд░реЗрд╕рди рдЪрд▓рд╛рдЙрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдЬрд╕реНрддреИ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ:

{customer='Barney, Smith' company="Exxon", transactions= 17}

рд╕рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫреИрди, рддрд░ рдпреА рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдЕрдЭ рд╕реНрдкрд╖реНрдЯ рджреЗрдЦрд┐рдиреНрдЫрдиреНред

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

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

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

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

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

рдпреА рд╡рд┐рд╖рдпрд╣рд░реВрдмрд╛рдЯ рдбреЗрдЯрд╛ рдкрдвреНрдиреБрд▓рд╛рдИ рднреМрддрд┐рдХ рджреГрд╢реНрдпрд╣рд░реВрдХреЛ рдкреНрд░рдХрд╛рд░ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫред рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рд╡рд┐рдХрд┐рдкрд┐рдбрд┐рдпрд╛рдмрд╛рдЯ рднреМрддрд┐рдХ рджреГрд╢реНрдпрдХреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ: тАЬ...рдПрдХ рднреМрддрд┐рдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡рд╕реНрддреБ рдЬрд╕рдорд╛ рдХреНрд╡реЗрд░реАрдХреЛ рдирддрд┐рдЬрд╛ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдЯрд╛рдврд╛рдХреЛ рдбреЗрдЯрд╛рдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐, рд╡рд╛ рддрд╛рд▓рд┐рдХрд╛рдХреЛ рдкрдЩреНрдХреНрддрд┐рд╣рд░реВ рд░/рд╡рд╛ рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рдПрдХ рдЙрдкрд╕реЗрдЯ рд╡рд╛ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди, рд╡рд╛ рдПрдХреАрдХрд░рдг рдорд╛рд░реНрдлрдд рдкреНрд░рд╛рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢ рддрд╛рд▓рд┐рдХрд╛ рд╣реБрди рд╕рдХреНрдЫ" (https://en.wikipedia.org/wiki /Materialized_view)ред

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

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

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

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

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

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

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

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

тЖТ рдкреБрд╕реНрддрдХрдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдпрд╣рд╛рдБ рдкрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ рдкреНрд░рдХрд╛рд╢рдХрдХреЛ тАЛтАЛрд╡реЗрдмрд╕рд╛рдЗрдЯ

тЖТ Habrozhiteli рдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдкрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ 25% рдЫреБрдЯ - рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░рд┐рдореНрд╕

тЖТ рдкреБрд╕реНрддрдХрдХреЛ рдХрд╛рдЧрдЬреА рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рднреБрдХреНрддрд╛рдиреА рдЧрд░реЗрдкрдЫрд┐, рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдирд┐рдХ рдкреБрд╕реНрддрдХ рдЗ-рдореЗрд▓ рдорд╛рд░реНрдлрдд рдкрдард╛рдЗрдиреЗрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди