Python выполнение скрипта с использованием apache воздушного потока - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в воздушном потоке, и мне нужно выполнить python скрипт с использованием PythonOperator.

Мне известно об определении функции в группе обеспечения доступности баз данных, а затем ее вызове с использованием python_callable. Тем не менее, у меня есть код в файле .py, и я хочу запустить весь сценарий, как это будет сделано из командной строки. Файл .py в настоящее время принимает аргументы командной строки, но я изменю его, чтобы получить значения из группы DAG op_kwargs.

Если единственный способ использовать файл .py - это BashOperator, тогда мне нужно изменить как скрипт в настоящее время принимает аргументы командной строки, так как я предполагаю, что переданные аргументы будут рассматриваться как аргументы командной строки?

Не могли бы вы помочь мне с кодом DAG для этого?

1 Ответ

1 голос
/ 20 апреля 2020

Допустим, вы сохранили свой код в файле с именем filename. Просто напишите from filename import function, а затем вызовите функцию, используя function(command, **context) из вашего DAG файла. Так что в вашем DAG вы будете иметь:

task = PythonOperator(
                task_id=task_id,
                python_callable=function,
                op_kwargs={'command': command},
                provide_context=True,
                dag=dag,
        )
...