Как выбрать между CustomOperator и PythonOperator? - PullRequest
1 голос
/ 14 января 2020

Когда я пишу пользовательский оператор, он выполняет некоторый произвольный код Python в своем методе execute:

class FooOperator(BaseOperator):
    @apply_defaults
    def __init__(self, some_arg: str, *args, **kwargs):
        self.some_arg = arg
        super().__init__(*args, **kwargs)

    def execute(self, context):
        return self.some_arg

Я также мог бы использовать PythonOperator, который вызывает исполняемый файл, который делает то же самое как этот метод execute делает:

def foo(some_arg: str):
  return some_arg

...

PythonOperator(task_id="foo", python_callable=foo,  op_args={"some_arg": "bar})

В чем разница между использованием пользовательского оператора и PythonOperator и тем, что может помочь мне решить, какой из них использовать?

...