рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореЗрд░рд╛ рдирд╛рдо рдПрдВрдЯреЛрди рд╣реИ, рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдореЗрдВ рдореИрдВ рдПрдХ рдХреЗрдВрджреНрд░реАрдп рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рднрдВрдбрд╛рд░рдг рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХрдИ Informatica рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣рдо рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ Airflow рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ Informatica рдФрд░ Airflow рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓реЗрдирд╛ рдФрд░ рджреЛрд╣рд░рд╛рдирд╛ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╣рдо рдПрдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рдПрдХ рддрд░рдл, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рдФрд░ рджреВрд╕рд░реА рддрд░рдл, рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓реЗ рдПрдпрд░рдлреНрд▓реЛ рд╕рд┐рджреНрдзрд╛рдВрдд - рдбрд╛рдпрдирд╛рдорд┐рдЬреНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреЛ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рдЫреЛрдЯреЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ Airflow рдореЗрдВ DAGs рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░, рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рднрд╛рд░рдд рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХрдИ рд▓реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдлрд╝реЙрд░реНрдо рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ "рдЖрдк рдПрдпрд░рдлреНрд▓реЛ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдбреЗрдЧреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: <10 рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдХрд╛рд░реНрдпреЛрдВ / рдбреИрдЧреНрд╕> рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг" ред рд▓реЗрдХрд┐рди рд╣рдо рдбреИрдЧреНрд╕ рдХреА рдкреАрдврд╝реА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ, рдЬреЛ рдХрд┐ рдПрдХ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордп рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧреАред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдпрд░рдлреНрд▓реЛ рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЖрдЧреЗ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рд╕реНрд░реЛрдд рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд▓реНрдж рд╣реА рдПрдпрд░рдХреНрд░рд╛рдлреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдордзреНрдпрд╡рд░реНрддреА рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдореЗрдВ рдкрд░рдд рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рд▓реЛрдбрд┐рдВрдЧ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд░реЗрдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рд╡рд░реНрдгрди рдореБрдЭреЗ рдХрд╣реАрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдореИрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
Habr├й рдкрд░ Airflow рдкрд░ Mail.ru рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХреБрдЫ рд▓реЗрдЦ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдПрдпрд░рдлреНрд▓реЛ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг
рд╢рд╛рдЦрд╛рдХрд░рдг, рдЬрд┐рдВрдЬрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдирдХреАрдХрд░рдг, рдФрд░ рдПрдХреНрд╕рдХреЙрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреАрдПрдЬреА рдХреЗ рднреАрддрд░ рд╕рдВрдЪрд╛рд░
рдЫреЛрдЯреА рд╢рдмреНрджрд╛рд╡рд▓реА:
рдбреАрдПрдЬреА / рдбреАрдПрдЬреА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдПрд╕рд╛рдЗрдХреНрд▓рд┐рдХ рдЧреНрд░рд╛рдл рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рдЙрди рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╣реИ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдФрд░ рдЪрдХреНрд░ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред
SubDAG / рд╕рдмрдбреИрдЧ - DAG рдХреЗ рд╕рдорд╛рди, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреНрдп DAG рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд, рдореВрд▓ DAG рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдпрд╛рдиреА, рдХрд╛рд░реНрдп рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ) рдФрд░ рдПрдХ рдЕрд▓рдЧ рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдгред
рд╕рдВрдЪрд╛рд▓рдХ / рд╕рдВрдЪрд╛рд▓рдХ - рдбрдЧ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрджрдо, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реБрдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдердирдСрдкрд░реЗрдЯрд░ред
рдЯрд╛рд╕реНрдХ / рдЯрд╛рд╕реНрдХ - рдбреАрдПрдЬреА рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг, рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PythonOperator, рдЬрд┐рд╕реЗ run_task рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ DAG check_dag рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред
рдбреИрдЧ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдиреБрдХрд╕рд╛рди рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рдХрд╛рд░реНрдп рдкреАрдврд╝реА рдХрд╛ рд╡рд┐рдЪрд╛рд░
рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛:
рдСрд░реНрдХреЗрд╕реНрдЯреНрд░рд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдЯреЗрдмрд▓ рд╣реИ, рдЗрд╕реЗ PKG_TABLE рдХрд╣рддреЗ рд╣реИрдВред
рдПрдХ рддрдВрддреНрд░ рд╣реИ рдЬреЛ PKG_TABLE рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рдереЗ:
рдбреАрдПрдЬреА, рдЬреЛ рддреИрдпрд╛рд░-рд╕реЗ-рдбрд╛рдЙрдирд▓реЛрдб рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ (рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рд╡рд╛рд▓рд╛: рдЕрдВрдд рдореЗрдВ, рд╕рдм рдХреБрдЫ рдирд┐рдХрд▓рд╛)ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо LatestOnlyOperator рдХрд╛рд░реНрдп рдФрд░ рдЙрд╕рдХреЗ рдЖрд╢реНрд░рд┐рдд рдХрд╛рд░реНрдп рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдбреЗрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рддрдм рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм pkg_subdag_factory рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ PKG_TABLE рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рдВрдХреБрд▓ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдИ PythonOperators рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдПрдХ рдбрдореАрдСрдкрд░реЗрдЯрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдкрд╛рдпрдердирдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЗрд╕реЗ рдПрдпрд░рдлреНрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдкреБрдирд░реНрд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
DAG рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐:

рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдЦрдВрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐:

рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдЦрдВрдб рдХрд╛ рдкреНрд░рдХрдЯрди:

рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рд╡рд┐рддреНрдд
- рдХреИрдЪрдЕрдк рдиреЗ рд╣рдорд╛рд░реА рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛: рд╕реНрд╡рд┐рдЪ рдСрдл рдбреИрдЧ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдИ рд▓реЙрдиреНрдЪ рд╣реБрдП (рд╢реЗрдбреНрдпреВрд▓ рдХреА рдкреВрд░реА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 2-3)ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдореБрдЭреЗ LatestOnlyOperator рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛, рддрд╛рдХрд┐ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд▓реЙрдиреНрдЪ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВред
- рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдмрдбреИрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрдорд╛рдВрдб "airflow unpause <subdag_name>", рдЕрдиреНрдпрдерд╛ рдпрд╣ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛ рд╕рдмрдбреИрдЧ (рдирдП рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдмрдбреИрдЧ) рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред ред рдпрджрд┐ рдЖрдк "dags_are_paused_at_creation" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдПрдпрд░рдлрд╝реНрд▓реЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ($ airflow_home / airflow.cfg) рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдирдП рдбреЗрдЧ рдХреЗ рд╕реНрд╡рдд: рд╕реНрд╡рдд: рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирдП рдбреИрдЧреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, "рдПрдпрд░рдлреНрд▓реЛ рдХреА рдПрдХ рдкреНрд░рдореБрдЦ рдХреНрд╖рдорддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпреЗ рдбреАрдПрдЬреА рд░рди рдкрд░рдорд╛рдгреБ, рдмреЗрдХрд╛рд░ рд╡рд╕реНрддреБрдПрдВ, <...>" рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ: "рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдбреИрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред" рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╣рдордиреЗ рдЗрд╕ "рдкреНрд░рдореБрдЦ рдХреНрд╖рдорддрд╛" рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛, рд╣рдордиреЗ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╕реАрдЦреАрдВ:
- рдПрдХ рдЦрд╛рд▓реА рдбреИрдЧ (рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛) рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рднреА рд╕рдВрднрд╡ рд╕рдорд╛рдирддрд╛рдПрдВ рд░реЛрдХрддреЗ рд╣реБрдПред рдпрд╣ рдЙрд╕ рд╕рдордп рд╣реБрдЖ рдЬрдм рдбрд╛реЕрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рдХреЛрдИ рдбрд╛рдЙрдирд▓реЛрдб рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдереЗред рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдбрдореАрдкрд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЕрдЧрд░ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдЯрд╛рд╕реНрдХ рдбреЗрдЧ рд░реАрдЬреЗрдирд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдбреЗрдЯреЗрдб рдбреИрдЧ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рд░рд╣ рдЬрд╛рддрд╛ рд╣реИ - рддреЛ рдпрд╣ рд░рдирд┐рдВрдЧ рдкреНрд░реЛрд╕реЗрд╕ рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдпрд╣ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдпрд░рдлреНрд▓реЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ($ airflow_home / airflow.cfg) рдореЗрдВ min_file_process_interval рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рди рдХреЗрд╡рд▓ "рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ, рдмрд▓реНрдХрд┐ "рд▓реЛрдбрд┐рдВрдЧ рдЗрди рдкреНрд░реЛрд╕реЗрд╕" рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рднреА рдЯрд╛рд╕реНрдХ рдкреИрдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдЬрд╛рд░реА рд░рд╣рдиреЗ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд░рд╣реЗред
- рдпрджрд┐ рдбреИрдЧ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдерд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдо "pkg_123" рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдп рдерд╛ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдбреЗрдЧ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджреНрдпрдкрд┐ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдПрдпрд░рдлреНрд▓реЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╛рд╣рд░реА рд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреБрд░рд╛рдиреЗ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдВрджрд░ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЬрдм рд╕рд╡рд╛рд▓ рдбреАрдПрдЬреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдарддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
- рдЯрд╛рд╕реНрдХ_рдб рдХреА рдЧрддрд┐рд╢реАрд▓ рдкреАрдврд╝реА рдХреЗ рдХрд╛рд░рдг, рдкреНрд░рддреНрдпреЗрдХ рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рдлреЗрдВрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рдкреИрдХреЗрдЬ рдХреА рдЖрдИрдбреА, рддрд╛рдХрд┐ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреИрдХреЗрдЬ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдЙрд╕реА рд╢рдмреНрджрдХреЛрд╢ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЕрдиреНрдпрдерд╛, рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рд░реНрдп рд╢реБрд░реВ рд╣реЛ рдЧрдПред
Execution_date рд▓реЙрдЧ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╛рд░рдВрдн рд╕рдордп рдореЗрдВ
рдореИрдВ рдПрдпрд░рдлреНрд▓реЛ рдХреА рдПрдХ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛, рдЬреЛ рдкрд╣рд▓реЗ рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдирд┐рд╖реНрдкрд╛рджрди_рдбреЗрдЯ (рдЬреЛ рд╕рднреА рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрджрд┐) рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╛рд░рдВрдн рд╕рдордпред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╡рд░реНрдгрди рдПрдпрд░рдлреНрд▓реЛ рдФрд░ рдПрдлрдПрдХреНрдпреВ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг : "рд╢реЗрдбреНрдпреВрд▓рд░ рдиреЗ рдЕрд╡рдзрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреА рдиреМрдХрд░реА рд╢реБрд░реВ рдХреА"
рдкрд░рд┐рдгрд╛рдо : рдпрджрд┐ рдЖрдк рдПрдХ рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд╛рдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, @daily, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдПрдХ рд░рди "2018-01-01 00:00:00" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "2018-02-01 00:00:00" рдЪрд▓реЗрдЧрд╛ред
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:
рдХреИрдЪрдЕрдк рдкреНрд░рд▓реЗрдЦрди
LatestOnlyOperator рдкреНрд░рд▓реЗрдЦрди
LatestOnlyOperator рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рд▓реЗрдЦрди
LatestOnlyOperator рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ
рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ
рдкрд┐рдЫрд▓реЗ рд▓реЙрдиреНрдЪ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди
рдЧрддрд┐рд╢реАрд▓ рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг
рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди