Как войти в функцию Python в PythonOperator в Airflow - PullRequest
0 голосов
/ 26 августа 2018

Я использую PythonOperator в моей группе Airflow DAG, и мне нужно что-то напечатать внутри функции Python оператора.Я пытался напечатать, но, видимо, это не сработало.Не уверен, что это сработает.Затем я попытался передать self.log в PythonOperator, но я не уверен, как передать эту ссылку.

task = PythonOperator(
    task_id='task1',
    python_callable=my_func,
    params={ ... },
    provide_context=True,
    dag=dag
)

...

def my_func(**context):
    ...
    print(some_message) # this didn't work.

Спасибо!

1 Ответ

0 голосов
/ 26 августа 2018

Способ входа в Airflow (и в Python в целом) - через модуль logging, то есть

import logging

поверх определения DAG и

logging.info(some_message)

вместо оператора print в вашей функции my_func. Другие функции, которые вы можете использовать, кроме info() (с другим уровнем ведения журнала / критичностью), можно найти в документации по Python: https://docs.python.org/3/howto/logging.html#logging-basic-tutorial

...