рдбреЗрд▓реНрдЯрд╛ рдЭреАрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ: рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдФрд░ рд╡рд┐рдХрд╛рд╕

рдирдорд╕реНрддреЗ, рд╣рдмрд░! рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБ "рдбреЗрд▓реНрдЯрд╛ рдЭреАрд▓ рдореЗрдВ рдЧреЛрддрд╛рдЦреЛрд░реА: рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдФрд░ рд╡рд┐рдХрд╛рд╕" рд▓реЗрдЦрдХ рдмреБрд░рд╛рдХ рдпрд╛рд╡реБрдЬрд╝, рдмреНрд░реЗрдирд░ рд╣реЗрдиреНрдЯреНрдЬрд╝ рдФрд░ рдбреЗрдиреА рд▓реА, рдЬреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдбрд╛рдЯрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░ OTUS рд╕реЗ.

рдбреЗрд▓реНрдЯрд╛ рдЭреАрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ: рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдФрд░ рд╡рд┐рдХрд╛рд╕

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

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

рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рдХреЛ рд╕рдордЭрдирд╛

рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдореЗрдВ рдПрдХ рд╕реНрдХреАрдорд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рдХреЙрд▓рдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ред рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдХреЗ рд╕рд╛рде, рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдХреЛ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЗ рдЕрдВрджрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпреЛрдЬрдирд╛ рдкреНрд░рд╡рд░реНрддрди рдХреНрдпрд╛ рд╣реИ?

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

рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

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

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

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

# ╨б╨│╨╡╨╜╨╡╤А╨╕╤А╤Г╨╡╨╝ DataFrame ╤Б╤Б╤Г╨┤, ╨║╨╛╤В╨╛╤А╤Л╨╣ ╨╝╤Л ╨┤╨╛╨▒╨░╨▓╨╕╨╝ ╨▓ ╨╜╨░╤И╤Г ╤В╨░╨▒╨╗╨╕╤Ж╤Г Delta Lake
loans = sql("""
            SELECT addr_state, CAST(rand(10)*count as bigint) AS count,
            CAST(rand(10) * 10000 * count AS double) AS amount
            FROM loan_by_state_delta
            """)

# ╨Т╤Л╨▓╨╡╤Б╤В╨╕ ╨╕╤Б╤Е╨╛╨┤╨╜╤Г╤О ╤Б╤Е╨╡╨╝╤Г DataFrame
original_loans.printSchema()

root
  |-- addr_state: string (nullable = true)
  |-- count: integer (nullable = true)
 
# ╨Т╤Л╨▓╨╡╤Б╤В╨╕ ╨╜╨╛╨▓╤Г╤О ╤Б╤Е╨╡╨╝╤Г DataFrame
loans.printSchema()
 
root
  |-- addr_state: string (nullable = true)
  |-- count: integer (nullable = true)
  |-- amount: double (nullable = true) # new column
 
# ╨Я╨╛╨┐╤Л╤В╨║╨░ ╨┤╨╛╨▒╨░╨▓╨╕╤В╤М ╨╜╨╛╨▓╤Л╨╣ DataFrame (╤Б ╨╜╨╛╨▓╤Л╨╝ ╤Б╤В╨╛╨╗╨▒╤Ж╨╛╨╝) ╨▓ ╤Б╤Г╤Й╨╡╤Б╤В╨▓╤Г╤О╤Й╤Г╤О ╤В╨░╨▒╨╗╨╕╤Ж╤Г
loans.write.format("delta") 
           .mode("append") 
           .save(DELTALAKE_PATH)

Returns:

A schema mismatch detected when writing to the Delta table.
 
To enable schema migration, please set:
'.option("mergeSchema", "true")'
 
Table schema:
root
-- addr_state: string (nullable = true)
-- count: long (nullable = true)
 
Data schema:
root
-- addr_state: string (nullable = true)
-- count: long (nullable = true)
-- amount: double (nullable = true)
 
If Table ACLs are enabled, these options will be ignored. Please use the ALTER TABLE command for changing the schema.

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

рд╕реНрдХреАрдорд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИ?

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

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

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

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

рдбреЗрдЯрд╛ рдХрдордЬреЛрд░ рдкрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрдирд╛

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

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

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

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

рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?

рд╕реНрдХреАрдорд╛ рдЗрд╡реЛрд▓реНрдпреВрд╢рди рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрддрдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдирдП рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреАрдорд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреЗрдВрдб рдпрд╛ рд░реАрд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдирдП рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдХреАрдорд╛ рдЗрд╡реЛрд▓реНрдпреВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реНрдХреАрдорд╛ рдЕрд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд░реНрдХрд┐рдЯ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ .option('mergeSchema', 'true') рдЖрдкрдХреА рд╕реНрдкрд╛рд░реНрдХ рдЯреАрдо рдХреЛ .write ╨╕╨╗╨╕ .writeStream.

# ╨Ф╨╛╨▒╨░╨▓╤М╤В╨╡ ╨┐╨░╤А╨░╨╝╨╡╤В╤А mergeSchema
loans.write.format("delta") 
           .option("mergeSchema", "true") 
           .mode("append") 
           .save(DELTALAKE_SILVER_PATH)

рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдкрд╛рд░реНрдХ SQL рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдПрдБ

# ╨б╨╛╨╖╨┤╨░╨╣╤В╨╡ ╨│╤А╨░╤Д╨╕╨║ ╤Б ╨╜╨╛╨▓╤Л╨╝ ╤Б╤В╨╛╨╗╨▒╤Ж╨╛╨╝, ╤З╤В╨╛╨▒╤Л ╨┐╨╛╨┤╤В╨▓╨╡╤А╨┤╨╕╤В╤М, ╤З╤В╨╛ ╨╖╨░╨┐╨╕╤Б╤М ╨┐╤А╨╛╤И╨╗╨░ ╤Г╤Б╨┐╨╡╤И╨╜╨╛
%sql
SELECT addr_state, sum(`amount`) AS amount
FROM loan_by_state_delta
GROUP BY addr_state
ORDER BY sum(`amount`)
DESC LIMIT 10

рдбреЗрд▓реНрдЯрд╛ рдЭреАрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ: рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдФрд░ рд╡рд┐рдХрд╛рд╕
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдкреВрд░реЗ рд╕реНрдкрд╛рд░реНрдХ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ spark.databricks.delta.schema.autoMerge = True рд╕реНрдкрд╛рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдЕрдм рдЖрдкрдХреЛ рдЕрдирдЬрд╛рдиреЗ рд╕реНрдХреАрдорд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреЗрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

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

рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ:

  • рдирдП рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛ (рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ)
  • NullType -> рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдирд╛ рдпрд╛ ByteType -> рд╢реЙрд░реНрдЯрдЯрд╛рдЗрдк -> IntegerType рд╕реЗ рдкреНрд░рдЪрд╛рд░ рдХрд░рдирд╛

рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рднреАрддрд░ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрдХреАрдорд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ .option("overwriteSchema", "true"). рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЙрд▓рдо "рдлреВ" рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдерд╛ рдФрд░ рдирдИ рд╕реНрдХреАрдорд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдереА, рддреЛ рд╕рднреА Parquet(рдбреЗрдЯрд╛) рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдПрдХ рдХреЙрд▓рдо рд╣рдЯрд╛рдирд╛
  • рдореМрдЬреВрджрд╛ рдХреЙрд▓рдо рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдирд╛ (рдЗрди-рдкреНрд▓реЗрд╕)
  • рдЙрди рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдЬреЛ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдлреВ" рдФрд░ "рдлреВ")

рдЕрдВрдд рдореЗрдВ, рд╕реНрдкрд╛рд░реНрдХ 3.0 рдХреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рд╕реНрдкрд╖реНрдЯ рдбреАрдбреАрдПрд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ (ALTER TABLE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХреЗрдВрдЧреЗ:

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

рд╕рд░реНрдХрд┐рдЯ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИ?

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

рдирд┐рд╖реНрдХрд░реНрд╖

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

рджреВрд╕рд░реА рдУрд░, рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рд╕рд░рд▓реАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╡рд░реНрддрди рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рднрд╛рд╡реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди. рдЖрдЦрд╝рд┐рд░рдХрд╛рд░, рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЙрдирдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдореБрдХреБрд▓ рдореВрд░реНрддрд┐ рдФрд░ рдкреНрд░рдгрд╡ рдЖрдирдВрдж рдХреЛ рднреА рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЗрд╕ рд╢реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдиреНрдп рд▓реЗрдЦ:

рдбреЗрд▓реНрдЯрд╛ рдЭреАрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ: рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЛ рдЦреЛрд▓рдирд╛

рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдЦ

рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдбрдХреНрд╢рди-рдЧреНрд░реЗрдб рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ

рдбреЗрдЯрд╛ рд▓реЗрдХ рдХреНрдпрд╛ рд╣реИ?

рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ

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

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