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

рд╣рдорд╛рд░реЗ рдЕрдиреБрднрд╡ рдХреА рддрд░рд╣ рдбреЗрдЯрд╛ рднреА рд▓рдЧрд╛рддрд╛рд░ рдПрдХрддреНрд░рд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рддрд╛рд▓рдореЗрд▓ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд╡ рдХреЗ рд╣рдорд╛рд░реЗ рдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓реЛрдВ рдХреЛ рдирдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рдирдП рдЖрдпрд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдЪреАрдЬреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдирдП рддрд░реАрдХреЗ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдереАред рдпреЗ рдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рд╕реНрдХреАрдорд╛ рд╕реЗ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдирдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреИрд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рд╣рдо рд╕рд░реНрдХрд┐рдЯ рдкреНрд░рдмрдВрдзрди рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд▓рдХреНрд╖реНрдп рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрджрд▓рддреА рд╣реИрдВ, рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рднреА рдмрджрд▓рддреА рд╣реИред рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдирдП рдЖрдпрд╛рдореЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╢рдмреНрджрд╛рд░реНрде рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЙрдирдХреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕реЗ рднрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдХреАрдорд╛ рдЗрд╡реЛрд▓реНрдпреВрд╢рди, рдЬреЛ рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдореВрд▓реНрдпрд╡рд╛рди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирдП рдХреЙрд▓рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рдХреЛ рд╕рдордЭрдирд╛
рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдореЗрдВ рдПрдХ рд╕реНрдХреАрдорд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ, рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рдХреЙрд▓рдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ред рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдХреЗ рд╕рд╛рде, рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рдХреЛ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рд▓реЙрдЧ рдХреЗ рдЕрдВрджрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпреЛрдЬрдирд╛ рдкреНрд░рд╡рд░реНрддрди рдХреНрдпрд╛ рд╣реИ?
рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди, рдЬрд┐рд╕реЗ рд╕реНрдХреАрдорд╛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдореЗрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рд▓реЛрдХрдкреНрд░рд┐рдп рд░реЗрд╕реНрддрд░рд╛рдВ рдореЗрдВ рдлреНрд░рдВрдЯ рдбреЗрд╕реНрдХ рдкрд░рд┐рдЪрд╛рд░рд┐рдХрд╛ рдХреА рддрд░рд╣, рдЬреЛ рдХреЗрд╡рд▓ рдЖрд░рдХреНрд╖рдг рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ, рд╡рд╣ рдпрд╣ рдЬрд╛рдВрдЪрддреА рд╣реИ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд░реНрдЬ рдЖрдВрдХрдбрд╝реЛрдВ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЙрд▓рдореЛрдВ рдХреА рд╕рдВрдЧрдд рд╕реВрдЪреА рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП "рдЖрд░рдХреНрд╖рдг" рд╣реИ), рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рдореЛрдВ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрддреА рд╣реИред
рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рд╕реНрдХреАрдорд╛ рдЬрд╛рдБрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рд╕рднреА рдирдП рд▓реЗрдЦрди рдХреЛ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕реНрдХреАрдорд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдХреАрдорд╛ рдЕрд╕рдВрдЧрдд рд╣реИ, рддреЛ рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рд▓реЗрдирджреЗрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рдкрд╕ рд▓реЗ рд▓реЗрддрд╛ рд╣реИ (рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрд╕рдВрдЧрддрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИред
рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ рдпрд╛ рдирд╣реАрдВред рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд▓рд┐рдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:
- рдРрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдЬреЛ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрджрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рднреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ - рдЙрди рдХреЙрд▓рдореЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╢реВрдиреНрдп рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдРрд╕реЗ рд╕реНрддрдВрдн рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдЬреЛ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕реНрддрдВрдн рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдВред рдпрджрд┐ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рд╕реА рд╕реНрддрдВрдн рдореЗрдВ StringType рдбреЗрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди DataFrame рдореЗрдВ рд╕рдВрдЧрдд рд╕реНрддрдВрдн рдореЗрдВ IntegerType рдбреЗрдЯрд╛ рд╣реИ, рддреЛ рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдПрдХ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ рдФрд░ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рдХреЛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛ред
- рдРрд╕реЗ рд╕реНрддрдВрдн рдирд╛рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдЬреЛ рдХреЗрд╡рд▓ рдХреЗрд╕ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрдВред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 'Foo' рдФрд░ 'foo' рдирд╛рдордХ рдХреЙрд▓рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЬрдмрдХрд┐ рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рдХреЗрд╕-рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ рдпрд╛ рдХреЗрд╕-рдЗрдирд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рд╕реНрдХреАрдорд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рднреАрддрд░ рдХреЗрд╕-рдкреНрд░рд┐рд╕рд╡рд┐рдВрдЧ рд▓реЗрдХрд┐рди рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред рдХреЙрд▓рдо рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд╕рдордп рдкрд╛рд░реНрдХреНрд╡реЗрдЯ рдХреЗрд╕ рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ рд╣реЛрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдбреЗрдЯрд╛ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдпрд╛ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ (рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ) рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдпрд╣ рд╕реАрдорд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдбреЗрд▓реНрдЯрд╛ рд▓реЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рдирдП рдЙрддреНрдкрдиреНрди рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рддрдХ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
# ╨б╨│╨╡╨╜╨╡╤А╨╕╤А╤Г╨╡╨╝ 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 -> ShortType -> IntegerType рд╕реЗ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛
рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рднреАрддрд░ рдЬрд┐рди рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдХреАрдорд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ .option("overwriteSchema", "true"). рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ "Foo" рдХреЙрд▓рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдерд╛ рдФрд░ рдирдИ рд╕реНрдХреАрдорд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдереА, рддреЛ рд╕рднреА рдкрд╛рд░реНрдХреНрд╡реЗрдЯ (рдбреЗрдЯрд╛) рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рд╕реНрддрдВрдн рд╣рдЯрд╛рдПрдВ
- рдореМрдЬреВрджрд╛ рдХреЙрд▓рдо рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ (рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░)
- рдЙрди рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдЬреЛ рдХреЗрд╡рд▓ рдХреЗрд╕ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрдВ (рдЬреИрд╕реЗ "Foo" рдФрд░ "foo")
рдЕрдВрдд рдореЗрдВ, рд╕реНрдкрд╛рд░реНрдХ 3.0 рдХреЗ рдЕрдЧрд▓реЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рд╕реНрдкрд╖реНрдЯ DDL (ALTER TABLE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХреЗрдВрдЧреЗ:
- рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛
- рдХреЙрд▓рдо рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдмрджрд▓рдирд╛
- рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд╛рд▓рд┐рдХрд╛ рдЧреБрдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЛ рд░рдЦреЗ рдЬрд╛рдиреЗ рдХреА рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ред
рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИ?
рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЬрдм рдЪрд╛рд╣реЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд╛ рдЗрд░рд╛рджрд╛ рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕реНрдХреАрдорд╛ рдмрджрд▓реЗрдВ (рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдЧрд▓рддреА рд╕реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдореЗрдВ рдРрд╕реЗ рдХреЙрд▓рдо рдЬреЛрдбрд╝ рджрд┐рдП рд╣реИрдВ рдЬреЛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдереЗ)ред рдпрд╣ рдЖрдкрдХреЗ рд╕реНрдХреАрдорд╛ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╣реА рд╕рд╣реА рдХреЙрд▓рдо рдирд╛рдо рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрдХреАрдорд╛ рдкреНрд░рд╡рд░реНрддрди рдХрд┐рд╕реА рднреА рдирдП рдХреЙрд▓рдо рдпрд╛ рдЕрдиреНрдп рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИрдВред рдЗрди рдЙрдЪреНрдЪ рдорд╛рдирдХреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╕реЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рдХреА рдЕрдЦрдВрдбрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдЯреАрдХ рддрд░реНрдХ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмреЗрд╣рддрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
рджреВрд╕рд░реА рдУрд░, рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╕рд░рд▓реАрдХрд░рдг рдХрд░рдХреЗ рдкреНрд░рд╡рд░реНрддрди рдХреЛ рдкреВрд░рдХ рдмрдирд╛рддрд╛ рд╣реИ рдХрд▓реНрдкрд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди. рдЖрдЦрд┐рд░рдХрд╛рд░, рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрд┐рд╕реА рдпреЛрдЬрдирд╛ рдХрд╛ рдмрд▓рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдпрд╛рдВрдЧ рд╣реИ, рдЬрдмрдХрд┐ рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдпрд┐рди рд╣реИред рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рдпреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢реЛрд░ рджрдорди рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрддреА рд╣реИрдВред
рд╣рдо рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдореБрдХреБрд▓ рдореВрд░реНрддрд┐ рдФрд░ рдкреНрд░рдгрд╡ рдЖрдирдВрдж рдХреЛ рднреА рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдиреНрдп рд▓реЗрдЦ:

рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдЦ
рд╕реНрд░реЛрдд: www.habr.com
