我上次忘了包含code
个示例,因此重新发布。
我在尝试设置Airflow时遇到了一些问题。我一直在尝试通过一个简单的SQL
脚本来遵循非常基本的DAG设置。我遇到了三个问题:
我能够运行一个基本的DAG
(我可以在GUI中看到DAG
及其在数据库上的运行效果),但是看起来像{{ 1}}不遵守DAG
参数。我正在尝试使schedule_interval
每小时运行一次,但是无论我做了什么更改,DAG
都每天运行,这也反映在我从GUI上看到的情况。
此外,尽管如果DAG
作为计划运行的一部分运行,DAG
可以顺利运行其单个任务,但是我在手动执行DAG
失败。我不确定为什么会这样。
在更新DAG DAG
和start_date
时,我一直在重命名schedule_interval
,因为这似乎是推荐的做法。有时这会触发回填dag_id
执行,但是这些回填作业也总是会失败。
除了更改DAG
以外,Airflow配置是默认配置。真的很感谢任何人在上述三个问题上提供的任何帮助,因为到目前为止,对我而言,这些问题似乎是无法理解的。
气流:
donot_pickle = True
SQL:
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.postgres_operator import PostgresOperator
from datetime import datetime, timedelta
DEFAULT_ARGS = {
'description': 'For now, a test DAG',
'start_date': datetime(2018, 7, 19),
'schedule_interval': "@hourly",
'end_date': None,
'owner': 'airflow', #placeholder
'retries': 3,
}
dag = DAG(
dag_id='test',
default_args = DEFAULT_ARGS,
)
test_redshift_op = PostgresOperator(
task_id = 'test_redshift_op',
sql = 'test.sql',
postgres_conn_id = 'redshift',
dag = dag
)
test_redshift_op
答案 0 :(得分:1)
1)schedule_interval
不属于default_args
。出于好奇-该代码示例来自何处? schedule_interval
是DAG
定义的一部分:
dag = DAG(
dag_id='test',
default_args = DEFAULT_ARGS,
schedule_interval = '@hourly',
)
对于2)和3),假定出了什么问题,但未指明出了什么问题。