Airflow orchestration best practices
up vote
0
down vote
favorite
I started to use Airflow to schedule jobs in our company, and I am wondering about its best practices.
Is it recommended to put all my tasks in one DAG ? If not, what is the right middle between one Dag and multiple Dags?
Our scheduled DAG's execute collects, transforms, exports and some other computing programs. So we will continuously have new tasks to add.
airflow orchestration
add a comment |
up vote
0
down vote
favorite
I started to use Airflow to schedule jobs in our company, and I am wondering about its best practices.
Is it recommended to put all my tasks in one DAG ? If not, what is the right middle between one Dag and multiple Dags?
Our scheduled DAG's execute collects, transforms, exports and some other computing programs. So we will continuously have new tasks to add.
airflow orchestration
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I started to use Airflow to schedule jobs in our company, and I am wondering about its best practices.
Is it recommended to put all my tasks in one DAG ? If not, what is the right middle between one Dag and multiple Dags?
Our scheduled DAG's execute collects, transforms, exports and some other computing programs. So we will continuously have new tasks to add.
airflow orchestration
I started to use Airflow to schedule jobs in our company, and I am wondering about its best practices.
Is it recommended to put all my tasks in one DAG ? If not, what is the right middle between one Dag and multiple Dags?
Our scheduled DAG's execute collects, transforms, exports and some other computing programs. So we will continuously have new tasks to add.
airflow orchestration
airflow orchestration
asked 2 days ago
Ismail Addou
28117
28117
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
Generally, one python file consists of a single DAG with multiple task. This is because it is the logical grouping of the tasks.
If you have multiple DAG that have dependencies you can use TriggerDagRunOperator
at the end of DAG1. This would trigger DAG2 (separate DAG file) if all tasks in DAG1 succeeds.
An example of this is:
DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py
DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
Generally, one python file consists of a single DAG with multiple task. This is because it is the logical grouping of the tasks.
If you have multiple DAG that have dependencies you can use TriggerDagRunOperator
at the end of DAG1. This would trigger DAG2 (separate DAG file) if all tasks in DAG1 succeeds.
An example of this is:
DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py
DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py
add a comment |
up vote
0
down vote
accepted
Generally, one python file consists of a single DAG with multiple task. This is because it is the logical grouping of the tasks.
If you have multiple DAG that have dependencies you can use TriggerDagRunOperator
at the end of DAG1. This would trigger DAG2 (separate DAG file) if all tasks in DAG1 succeeds.
An example of this is:
DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py
DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Generally, one python file consists of a single DAG with multiple task. This is because it is the logical grouping of the tasks.
If you have multiple DAG that have dependencies you can use TriggerDagRunOperator
at the end of DAG1. This would trigger DAG2 (separate DAG file) if all tasks in DAG1 succeeds.
An example of this is:
DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py
DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py
Generally, one python file consists of a single DAG with multiple task. This is because it is the logical grouping of the tasks.
If you have multiple DAG that have dependencies you can use TriggerDagRunOperator
at the end of DAG1. This would trigger DAG2 (separate DAG file) if all tasks in DAG1 succeeds.
An example of this is:
DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py
DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py
answered 2 days ago
kaxil
1,853526
1,853526
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53365900%2fairflow-orchestration-best-practices%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown