태스크 종속 DAG
이 페이지에서는 작업 종속 방향성 비순환 그래프(DAG)가 여러 DAG에서 cron 예약을 사용하는 대신 단일 DAG 내의 SQL 테이블 노드 간에 작업 종속 항목을 지정하도록 하는 단계를 간략히 설명합니다. 맞춤설정 가능한 설정은 서로 종속되는 여러 테이블 새로고침 노드가 있는 Cloud Composer DAG를 생성하는 데 사용됩니다. Cortex Framework는 작업 종속 SAP DAG (ECC 및 S/4HANA)에 권장 설정을 제공합니다. 하지만 이를 추가로 맞춤설정하거나 데이터 소스에 대해 작업 종속 DAG를 정의할 수 있습니다.
작업 종속 DAG 사용 설정
enableTaskDependencies
필드를True
로 설정하여 config.json 파일을 수정합니다. 이 설정은 접미사가_task_dep.yaml
인 작업 종속 보고 설정 파일에 대한 Cortex Framework의 검색을 활성화합니다.- 작업 종속 항목이 필요한 각 데이터 소스에 접미사
_task_dep.yaml
가 있는 전용 보고 설정 파일을 만듭니다. 자세한 내용은 작업 종속 보고 설정 정의를 참고하세요. table
유형 노드에table_setting.dag_setting
를 새 섹션으로 추가하여 작업 종속 항목을 맞춤설정합니다. 자세한 내용은 작업 종속 항목 지정 및 맞춤설정을 참고하세요.- 표준 빌드 프로세스를 사용하여 Cortex 프레임워크를 빌드합니다.
- 타겟 버킷의
dags/data_source/reporting/task_dep_dags/dag_name
에 있는 생성된 파일을 검사합니다. 이 폴더에는 Cloud Composer DAG를 정의하는 Python 파일과 DAG 내 각 테이블 노드의 새로고침 쿼리가 포함된 SQL 파일이 포함됩니다. - 파일을 Cloud Composer DAG 버킷에 복사하여 표준 빌드 프로세스를 사용하여 Cortex Framework를 배포합니다.
태스크 종속 보고 설정 정의
태스크 종속 항목이 필요한 각 데이터 소스의 경우 Cortex Framework는 접미사가 _task_dep.yaml
인 태스크 종속 보고 설정 파일을 예상합니다.
이러한 파일을 만들고 업데이트할 때는 다음 사항을 고려하세요.
- SAP의 경우 제공된 설정 파일
reporting_settings_ecc_task_dep.yaml
및reporting_settings_s4_task_dep.yaml
를 맞춤설정하고 사용할 수 있습니다. - 다른 데이터 소스의 경우 원본과 함께 자체 작업 종속 보고 설정을 만듭니다. 예를 들면 다음과 같습니다.
reporting_settings_task_dep.yaml.
보고 설정 파일 내에서 사용할 수 있는 필드에 관한 자세한 내용은 dag_types.py를 참고하세요.
태스크 종속 항목 지정 및 맞춤설정
table
유형 노드에 table_setting.dag_setting
를 새 섹션으로 추가하여 작업 종속 항목을 맞춤설정합니다.
- sql_file: dependent_table2.sql
type: table
table_setting:
dag_setting:
name: "dag1"
parents: ["dependent_table1.sql"]
DAG 설정에는 두 필드가 포함됩니다.
name
: 태스크 종속 DAG의 모든 노드에 필요한 문자열로, 테이블 노드가 속한 DAG의 이름을 지정합니다. 여기에는 DAG 내의 다른 노드에서 상위 요소로 참조하는 최상위 노드가 포함됩니다.parents
: 동일한 DAG 내 다른 테이블 노드의sql_file
경로를 포함하는 문자열 목록(선택사항)입니다. 이러한 상위 요소는 노드가 트리거되기 전에 성공적으로 실행되어야 합니다.
추가 고려사항:
- 정의된 상위 요소가 없는 노드는 최상위 노드로 간주되며 DAG 시작 시 실행됩니다.
- 최상위 노드 중 하나 이상에 DAG 일정으로 사용될
table_setting.load_frequency
가 정의되어야 합니다. - 여러 최상위 노드에
load_frequency
가 정의되어 있으면 동일해야 합니다. parents
가 정의된 하위 노드는load_frequency
를 정의할 수 없습니다.dag_setting
가 정의되지 않은 노드는 이전과 동일하게 단일 테이블 새로고침 노드와 태스크 종속 항목이 없는 DAG로 생성됩니다.- 뷰 및 스크립트와 같은 다른 노드 유형은 테이블을 새로고침하기 위해 DML로 노드만 생성하는 작업 종속 DAG에 포함할 수 없습니다.