我们在Airflow上都相对较新,所以这个问题使我们所有人都感到困惑。在此特定DAG中,我们的工程师已将DAG设置为回填。在ETC等中传递上下文。我们目前看到的是LOG中的两个运算符,它们的执行日期非常不同(请参见下文)。另请注意,我已经缩短了日志,所以我不只是粘贴所有内容。
我还想包括DAG以及它存在于我们的Airflow实例中。一切看起来都是正确的,并且反映了我们过去所做的一切。
对DAG以及用于从Google检索数据的脚本进行代码审查。对我来说一切都很好。关于这些事情,我还是个新手,所以我可能在这里错过了一些东西。
脚本的日志
*** Reading local file: /usr/local/airflow/logs/kroger/create_log_dir/2018-03-04T07:00:00+00:00/1.log
[2019-03-29 20:37:26,562] {{models.py:1359}} INFO - Dependencies all met for <TaskInstance: kroger.create_log_dir 2018-03-04T07:00:00+00:00 [queued]>
[2019-03-29 20:37:26,566] {{models.py:1359}} INFO - Dependencies all met for <TaskInstance: kroger.create_log_dir 2018-03-04T07:00:00+00:00 [queued]>
[2019-03-29 20:37:26,566] {{models.py:1571}} INFO -
--------------------------------------------------------------------------------
Starting attempt 1 of 4
--------------------------------------------------------------------------------
[2019-03-29 20:37:26,577] {{models.py:1593}} INFO - Executing <Task(PythonOperator): create_log_dir> on 2018-03-04T07:00:00+00:00
--------------------------------------------------------------------------------
Starting attempt 1 of 4
--------------------------------------------------------------------------------
[2019-04-09 01:04:21,054] {{models.py:1593}} INFO - Executing <Task(PythonOperator): create_log_dir> on 2018-03-04T07:00:00+00:00
[2019-04-09 01:04:21,054] {{base_task_runner.py:118}} INFO - Running:
[2019-04-09 01:04:26,031] {{logging_mixin.py:95}} INFO - [2019-04-09 01:04:26,030] {{jobs.py:2527}} INFO - Task exited with return code 0
目前的DAG
args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
# 'email': [''],
# 'email_on_failure': True,
# 'email_on_retry': False,
'retries': 3,
'retry_delay': timedelta(minutes=15),
# 'schedule_interval':'0 10 * * *',
# 'queue': 'bash_queue',
# 'pool': 'backfill',
# 'priority_weight': 10,
# 'end_date': datetime(2019, 4, 12),
}
dag = DAG(dag_id='kroger',
default_args=args,
schedule_interval="0 7 * * *",
catchup=True)
t0 = PythonOperator(task_id='create_log_dir',
python_callable=utils.create_account_dirs,
op_args=['kroger'],
dag=dag)
# on_failure_callback=send_notification)
t1 = PythonOperator(task_id = 'build_ds_table',
python_callable=build_schema.create_schema,
provide_context=True,
dag=dag)
# on_failure_callback=send_notification)
t2 = PythonOperator(task_id = 'ds',
python_callable= ds.upload_ds_report,
provide_context=True,
dag=dag)
t0 >> t1
t1 >> t2
目前,对于我们正在检索的数据,一切似乎都在按预期方式工作。我只是在查看日志,每个日志的多个运算符让我有些担心。请让我知道是否有更多信息可以在这里提供,以使这个问题对大家都更好。