지난 며칠 동안 Airflow를 ETL 워크 플로의 대체 도구로 평가했으며 Airflow에서 DAG의 이름이 바뀌면 흥미로운 동작을 발견했습니다. 나는 파일의 DAG가 hello_world.pyApache Airflow에서 DAG의 이름을 바꾸는 방법
dag = DAG('hello_world', description='Simple DAG',
schedule_interval='0 12 * * *',
start_date=datetime(2017, 11, 1), catchup=True)
라고 그리고이 DAG는 11 월 10 일 실행 된 경우
, 그때 나는 단순히 이름을 변경하려는 결정 dag에서 'yet_another_hello_world'로 이동 같은 파일에 hello_world.py
dag = DAG('yet_another_hello_world', description='Simple DAG',
schedule_interval='0 12 * * *',
start_date=datetime(2017, 11, 1), catchup=True)
이는 공기 흐름에 배치되면 단순히 작업의 이름 변경을하는 임, 그것은 자동으로 선택하고로 등록 등 비즈니스 로직을 변경하지 새 작업의 DAG보기
- 그래서 hello_world
- yet_another_hello_world
Becceptuse catchup = True DAG 정의에서 스케줄러가 자동으로이 변경 사항을 확인하고 새 작업을 등록합니다. yet_another_hello_world 그런 다음 11 월 1 일에 누락 된 실행을 백필합니다. 또한 기존의 hello_world 작업을 그대로 남겨 둡니다.
궁극적으로이 이름을 기존 작업의 이름으로 바꾸고 이전 hello_world 작업을 보존하지 않기를 바랍니다. 이것이 단순한 이름 바꾸기라는 것을 기류에 표시하는 방법이 있습니까?
응답 해 주셔서 감사합니다. 새 파일을 만들고 궁극적으로 새 작업 ID를 작성하면 이전 작업에서 실행 된 작업 기록이 손실됩니다. 이디스가 가능한 경우 새 작업 이름에 해당 기록을 유지하려고합니다. – vcetinick
작업 ID가 아닌 dag id 만 변경하면됩니다. 특정 DAG의 기록에 대해 기류 메타 데이터베이스에서 이전 dag_id를 새 dag_id로 변경할 수 있습니다 – sdikby