2017-01-05 2 views
5

Airflow를 시작하고 대규모 DAG를 구성하는 최상의 방법이 궁금합니다. ETL의 경우 논리적 그룹화에 속하는 많은 작업이 있지만 그룹은 서로 종속되어 있습니다. 다음 중 베스트 프랙티스로 간주되는 것은 어느 것입니까? 해당 파일 AIrflow - 여러 파일에 걸쳐 DAG 정의 분할

  • 분할 여러 파일에 걸쳐 DAG 정의의 모든 작업에

    • 하나 개의 큰 DAG 파일 (이 작업을 수행하는 방법?)
    • 여러 DAG를, 작업의 각 그룹에 대해 하나를 정의하고 종속성을 설정 그들 사이에 ExternalTaskSensor를 사용하여

    다른 제안 사항이 있습니다.

  • 답변

    5

    DAG는 단지 파이썬 파일입니다. 따라서 단일 dag 정의를 여러 파일로 나눌 수 있습니다. 서로 다른 파일에는 dag 객체를 가져 와서 해당 dag 객체를 사용하여 작업을 만드는 메서드 만 있으면됩니다.

    그러나 전역 범위에서 단일 dag 개체 만 있으면됩니다. 기류는 전역 범위의 모든 dag 객체를 개별 dags로 선택합니다.

    각 dag를 최대한 간결하게 유지하는 것이 좋습니다. 그러나 그러한 종속성을 설정해야하는 경우 서브 d 더 사용을 고려할 수도 있습니다. 이에 대한 자세한 내용은 다음을 참조하십시오. https://airflow.incubator.apache.org/concepts.html?highlight=subdag#scope

    ExternalTaskSensor를 사용할 수도 있지만 그 수가 늘어남에 따라 작업 간의 외부 종속성을 처리하기가 어려워 질 수 있습니다. 서브 dags는 유스 케이스로 갈 수있는 길이라고 생각합니다.