
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЗрд╕ рдХрд╣рд╛рдиреА рдореЗрдВ 8 рдорд╛рд░реНрдЪ рдХреА рдкреВрд░реНрд╡ рд╕рдВрдзреНрдпрд╛ рдкрд░ рдПрдХ рд░реЛрдорд╛рдВрдЯрд┐рдХ рдкреЛрд╕реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣реИ: рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ, рдкреНрдпрд╛рд░, рдереЛрдбрд╝реА рдЬрд╛рд╕реВрд╕реА рдФрд░, рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдмрд┐рд▓реНрд▓реА (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдПрдХ рдмрд┐рд▓реНрд▓реА)ред рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рд╕реАрдзреЗ рдХрд╛рдлреНрдХрд╛, рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдФрд░ рдкреНрд░рдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ "рдШрд░ рдХреА рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдиреАрд░рд╡ рд╡рд┐рдорд╛рди рдХреИрд╕реЗ рдЦреЛрдЬреЗрдВ"ред рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдпрд╣ рдПрдХ рдРрд╕рд╛ рдкреНрд░рдпреЛрдЧ рдерд╛, рдЬрд┐рд╕реЗ рд╕рд╛рдЗрдорди рдУрдмрд░реА рдиреЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рд╣рдордиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ред
рд╕реНрдиреЛрдлреНрд▓реЗрдХ рдирд╛рдо рдХреА рд╣рдорд╛рд░реА рдирдИ рдмрд┐рд▓реНрд▓реА рдЬрд▓реНрджреА рдЙрдарддреА рд╣реИред рд╣рдорд╛рд░реЗ рдШрд░ рдХреЗ рдКрдкрд░ рдЙрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬреЛрдВ рдХреА рдЖрд╡рд╛рдЬрд╝ рдЙрд╕реЗ рдЬрдЧрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░, рдЕрдкрд╛рдЪреЗ рдХрд╛рдлреНрдХрд╛, рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореИрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реА рд╡рд┐рдорд╛рди рдореЗрд░реА рдмрд┐рд▓реНрд▓реА рдХреЛ рдЬрдЧрд╛рдП рд░рдЦрддрд╛ рд╣реИ? рдПрдХ рдордиреЛрд░рдВрдЬрдХ рдЯреНрд░реИрдХрд┐рдВрдЧ рдкреИрдирд▓ рдмрдирд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдмрд┐рд▓реНрд▓реА рдЕрдкрдирд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХреЗ - рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдиреАрдВрдж рджреЗ рд╕рдХреЗред
рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ
рд╣рдо рдХрдлрд╝реНрдХрд╛ рдФрд░ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдорд╛рдиреЛрдВ рдХреЛ рдЖрдХрд╛рд╢ рд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВрд╡рд┐рдорд╛рди рдЬреАрдкреАрдПрд╕ рд░рд┐рд╕реАрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВред рдСрди-рдмреЛрд░реНрдб рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЫреЛрдЯреЗ рдкреНрд░рд╕рд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╣рд╛рдЬ рдХреЗ рд╕реНрдерд╛рди, рдкрд╣рдЪрд╛рди рд╕рдВрдЦреНрдпрд╛, рдКрдВрдЪрд╛рдИ рдФрд░ рдЧрддрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╕рд╛рд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрднрд░ рдирд┐рдЧрд░рд╛рдиреА (
AZN-V ) рдХреЗ рдпреЗ рдкреНрд░рд╕рд╛рд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рд╣реИрдВ рдЬреЛ рдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдЯреЗрд╢рдиреЛрдВ рд╕реЗ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рд╣реИрдВред
рдПрдХ рдорд╛рдЗрдХреНрд░реЛ рдХрдВрдкреНрдпреВрдЯрд░, рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ, рдФрд░ рдХрдИ рд╕рд╣рд╛рдпрдХ рдШрдЯрдХ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рдШрд░ рдкрд░ рд╡рд┐рдорд╛рди рдХреЗ рдСрди-рдмреЛрд░реНрдб рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░реЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
рд╡рд┐рдорд╛рди рдХреЗ рд╣рд╡рд╛рдИ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдЙрд▓рдЭреА рд╣реБрдИ рдЧреЗрдВрдж рдХреА рддрд░рд╣ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рдЕрд░рд╛рдЬрдХ рдбреЗрдЯрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдПрдХ рд╢реЛрд░ рдкрд╛рд░реНрдЯреА рдореЗрдВ рдмрд╛рддрдЪреАрдд рд╕реБрдирдиреЗ рдЬреИрд╕рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореЗрд░реА рдмрд┐рд▓реНрд▓реА рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╡рд┐рдорд╛рди рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрд╛рдлреНрдХрд╛ рдФрд░ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЬрд╛рдЧреГрдд рдмрд┐рд▓реНрд▓реА рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИрд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде AZN-B рд░реАрдбрд┐рдВрдЧ рдХрд╛ рд╕рдВрдЧреНрд░рд╣
рдСрди-рдмреЛрд░реНрдб рдкреНрд░рд╕рд╛рд░рдг рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ рдЖрд░рдЯреАрдПрд▓ 2832 рдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдПрдХ рдпреВрдПрд╕рдмреА рдореЙрдбреЗрдо рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдбрд┐рдЬрд┐рдЯрд▓ рдЯреАрд╡реА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ рдерд╛ред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдореИрдВрдиреЗ
рдбрдВрдк 1090 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ - рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рдПрдХ рдЫреЛрдЯреЗ рдПрдВрдЯреАрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░рдЯреАрдПрд▓ 2832 рдпреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ AZN-V рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ RTL2832U рд╕реЗ рдореЗрд░рд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдбрд┐рдпреЛAZN-B рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдХрд╛рдлреНрдХрд╛ рдереАрдо рдореЗрдВ рдмрджрд▓реЗрдВ
рдЕрдм рдЬрдм рдореБрдЭреЗ рдХрдЪреНрдЪреЗ AZN-B рд╕рдВрдХреЗрддреЛрдВ рдХреА рдПрдХ рдзрд╛рд░рд╛ рдорд┐рд▓реА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдпрд╛рддрд╛рдпрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЗрдВ рдЧрдВрднреАрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХрдлрд╝реНрдХрд╛ рдкрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдпрд╛ рддреЛ
рдмреЛрд░реНрдб рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╕реНрдерд╛рди рд╕рдВрджреЗрд╢реЛрдВ рдпрд╛
рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрдерд╛рди рдкреНрд░рдкрддреНрд░ рдХреЗ рд╕рдВрджреЗрд╢ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
"7c6db8 рдмреЛрд░реНрдб рд╕рдордиреНрд╡рдп -33.8,151.0 рдкрд░ 6,250 рдлреАрдЯ рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рдЙрдбрд╝рддрд╛ рд╣реИ ред
" рдмреЛрд░реНрдб рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
"рдмреЛрд░реНрдб 7c451c рдорд╛рд░реНрдЧ QJE1726 рдХреЗ рд╕рд╛рде рдЙрдбрд╝рддрд╛ рд╣реИ ред
"рдореЗрд░реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛
рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА AZN-B рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рд░рд╛рд╕рдмреЗрд░реА рдкрд╛рдИ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ
рд╕реНрдерд╛рди-рд╡рд┐рд╖рдп рдФрд░
рдкрд╣рдЪрд╛рди-рд╡рд┐рд╖рдп рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдлреНрд▓реБрдПрдВрдЯ рд░реЗрд╕реНрдЯ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░, рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ RESTful рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ Pi рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг REST рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреМрди рд╕реЗ рд╡рд┐рдорд╛рди рдореЗрд░реА рдЫрдд рдкрд░ рдФрд░ рдХрд┐рди рдорд╛рд░реНрдЧреЛрдВ рдкрд░ рдЙрдбрд╝рд╛рди рднрд░рддреЗ рд╣реИрдВред
OpenFlights рдбреЗрдЯрд╛рдмреЗрд╕
рдЖрдкрдХреЛ рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЗ рдХреЗ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдирд╛рдЧрд░рд┐рдХ рдЙрдбреНрдбрдпрди рд╕рдВрдЧрдарди (ICAO) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ 7C6DB8, рд╡рд┐рдорд╛рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде - рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреЛрдЗрдВрдЧ 737ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореИрдкрд┐рдВрдЧ
рдбреЗрдЯрд╛ рдХреЛ
icao-to-Aircraft рдереАрдо рдкрд░
рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ ред
KSQL рдПрдХ "SQL рдЗрдВрдЬрди" рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Apache Kafka рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрди-рдмреЛрд░реНрдб рдХреЛрдб 7C6DB8 рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
CREATE TABLE icao_to_aircraft WITH (KAFKA_TOPIC='ICAO_TO_AIRCRAFT_REKEY', VALUE_FORMAT='AVRO', KEY='ICAO'); ksql> SELECT manufacturer, aircraft, registration \ FROM icao_to_aircraft \ WHERE icao = '7C6DB8'; Boeing | B738 | VH-VYI
рдЗрд╕реА рддрд░рд╣,
рдХреЙрд▓рд╕рд╛рдЗрди-рдбрд┐рдЯреЗрд▓реНрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВрдиреЗ рдХреЙрд▓рд┐рдЬрдиреНрд╕ (рдпрд╛рдиреА QFA563 рдХреЛ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛, рдпрд╣ рдХрдВрддрд╕ рдХреА рдмреНрд░рд┐рд╕реНрдмреЗрди рд╕реЗ рд╕рд┐рдбрдиреА рдХреА рдЙрдбрд╝рд╛рди рд╣реИ)ред
CREATE TABLE callsign_details WITH (KAFKA_TOPIC='CALLSIGN_DETAILS_REKEY', VALUE_FORMAT='AVRO', KEY='CALLSIGN'); ksql> SELECT operatorname, fromairport, toairport \ FROM callsign_details \ WHERE callsign = 'QFA563'; Qantas | Brisbane | Sydney
рдЕрдм
рд╕реНрдерд╛рди-рд╡рд┐рд╖рдп рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ
рд╣реИрдВ ред рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдЙрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рдзрд╛рд░рд╛ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
kafka-avro-console-consumer --bootstrap-server localhost:9092 --property --topic location-topic {"ico":"7C6DB8","height":"6250","location":"-33.807724,151.091495"}
KSQL рдХреНрд╡реЗрд░реА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
ksql> SELECT TIMESTAMPTOSTRING(rowtime, 'yyyy-MM-dd HH:mm:ss'), \ ico, height, location \ FROM location_stream \ WHERE ico = '7C6DB8'; 2018-09-19 07:13:33 | 7C6DB8 | 6250.0 | -33.807724,151.091495
KSQL: рд╕реНрдЯреНрд░реАрдо рд╕рд╛рдордВрдЬрд╕реНрдп ...
KSQL рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╡рд┐рд╖рдп рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ (рджреЗрдЦреЗрдВ
03_ksql.sql ) рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ
- рдпрд╣ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ "рд▓реЗрдлреНрдЯ рдЬреЙрдЗрди" рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрд░рд┐рдгрд╛рдо рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреА рдПрдХ рднреА рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдФрд░ рдХрдлрдХрд╛ рд╡рд┐рд╖рдп рд╣реИ!
рд╕реНрд░реЛрдд> STREAM location_and_details_stream AS \ _ рдмрдирд╛рдПрдВ
рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ l.ico, l.height, l.location, t.aircraft \
Location_stream l \ рд╕реЗ
LEFT JOIN icao_to_aircraft t ON l.ico = t.icao;
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
ksql> SELECT TIMESTAMPTOSTRING(rowtime, 'yy-MM-dd HH:mm:ss') \ , manufacturer \ , aircraft \ , registration \ , height \ , location \ FROM location_and_details_stream; 18-09-27 09:53:28 | Boeing | B738 | VH-YIA | 7225 | -33.821,151.052 18-09-27 09:53:31 | Boeing | B738 | VH-YIA | 7375 | -33.819,151.049 18-09-27 09:53:32 | Boeing | B738 | VH-YIA | 7425 | -33.818,151.048
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдлрд┐рдХреНрд╕реНрдб
callign_details рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде
рдХреЙрд▓рд╕рд╛рдЗрди рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
CREATE STREAM ident_callsign_stream AS \ SELECT i.ico \ , c.operatorname \ , c.callsign \ , c.fromairport \ , c.toairport \ FROM ident_stream i \ LEFT JOIN callsign_details c ON i.indentification = c.callsign; ksql> SELECT TIMESTAMPTOSTRING(rowtime, 'yy-MM-dd HH:mm:ss') \ , operatorname \ , callsign \ , fromairport \ , toairport \ FROM ident_callsign_stream ; 18-09-27 13:33:19 | Qantas | QFA926 | Sydney | Cairns 18-09-27 13:44:11 | China Eastern | CES777 | Kunming | Sydney 18-09-27 14:00:54 | Air New Zealand | ANZ110 | Sydney | Auckland
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╕реВрдЪрдирд╛рддреНрдордХ рд╡рд┐рд╖рдп рд╣реИрдВ:
- location_and_details_stream , рдЬреЛ рд╡рд┐рдорд╛рди рдХреЗ рд╕реНрдерд╛рди рдФрд░ рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрджреНрдпрддрди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ;
- Ident_callsign_stream , рдЬреЛ рдПрдпрд░рд▓рд╛рдЗрди рдФрд░ рдЧрдВрддрд╡реНрдп рд╕рд╣рд┐рдд рдЙрдбрд╝рд╛рди рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдЗрди рд▓рдЧрд╛рддрд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд╕рд╛рде, рд╣рдо рдХреБрдЫ рдорд╣рд╛рди рдЕрд╡рд▓реЛрдХрди рдкреИрдирд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рджреНрд╡рд╛рд░рд╛ рдПрд▓рд┐рд╕реНрдЯрд┐рдХреНрд╕рдЦреЛрдЬ (
рдпрд╣рд╛рдВ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЗ рд▓рд┐рдП рдЖрдмрд╛рджреА рд╡рд╛рд▓реЗ
рдХрд╛рдлреНрдХрд╛ рдХрдиреЗрдХреНрдЯ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрд╛рдлреНрдХрд╛ рдХрдиреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдХрд┐рдмрд╛рдирд╛ рдбреИрд╢рдмреЛрд░реНрдб
рдпрд╣рд╛рдБ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рдкреИрдирд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ рдХрд╛ рд╕реНрдерд╛рди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдпрд░рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЪрд╛рд░реНрдЯ, рдЙрдбрд╝рд╛рди рдКрдВрдЪрд╛рдИ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдФрд░ рдореБрдЦреНрдп рдЧрдВрддрд╡реНрдп рджреНрд╡рд╛рд░рд╛ рд╢рдмреНрдж рдмрд╛рджрд▓реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдКрд╖реНрдорд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рд╡рд┐рдорд╛рди рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВ, рдпрд╛рдиреА рдЙрдЪреНрдЪрддрдо рд╢реЛрд░ рд╕реНрддрд░ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ред

рд╡рд╛рдкрд╕ рдмрд┐рд▓реНрд▓реА рдХреЗ рдкрд╛рд╕
рдЖрдЬ рд╕реБрдмрд╣ рдХрд░реАрдм 6 рдмрдЬреЗ рдмрд┐рд▓реНрд▓реА рдиреЗ рдореБрдЭреЗ рдЬрдЧрд╛рдпрд╛ред рдХреНрдпрд╛ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдореБрдЭреЗ рдЙрд╕ рд╡рд┐рдорд╛рди рдХреЛ рдвреВрдВрдврдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдордп рдореЗрд░реЗ рдШрд░ рдкрд░ 3,500 рдлреАрдЯ рд╕реЗ рдХрдо рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рдЙрдбрд╝рд╛рди рднрд░ рд░рд╣рд╛ рд╣реИ?
select timestamptostring(rowtime, 'yyyy-MM-dd HH:mm:ss') , manufacturer , aircraft , registration , height from location_and_details_stream where height < 3500 and rowtime > stringtotimestamp('18-09-27 06:10', 'yy-MM-dd HH:mm') and rowtime < stringtotimestamp('18-09-27 06:20', 'yy-MM-dd HH:mm'); 2018-09-27 06:15:39 | Airbus | A388 | A6-EOD | 2100.0 2018-09-27 06:15:58 | Airbus | A388 | A6-EOD | 3050.0
рдмрд╣реБрдд рдЦреВрдм! рдореИрдВ рдЕрдкрдиреА рдЫрдд рдкрд░ рд╕реБрдмрд╣ 6:15 рдмрдЬреЗ рдПрдХ рд╡рд┐рдорд╛рди рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдпрд░рдмрд╕ A380 (рд╡реИрд╕реЗ, рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд▓рд╛рдЗрдирд░) рджреНрд╡рд╛рд░рд╛ рд╕реНрдиреЛрдлреНрд▓реЗрдХ рдХреЛ рдЬрдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рджреБрдмрдИ рдХреЗ рд▓рд┐рдП рдЙрдбрд╝рд╛рди рднрд░реА рдереАред
рдмрд╕ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреА рдЫреБрдЯреНрдЯреА рд╣реИ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рджрд┐рд▓рдЪрд╕реНрдк рдбреЗрдЯрд╛ рдИрд╡реЗрдВрдЯ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдвреВрдВрдврдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдиреЛрдлреНрд▓реЗрдХ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
