클래스: 데이터 엔지니어링의 기초

무료이용으로 수강해 보세요.

업계 전문가가 강의하는 클래스 22,800개를 수강하세요.

에어플로우

에어플로우

워크플로 예약 프레임워크의 작동 방식을 알아보기 전에 먼저 워크플로가 무엇인지 이해해 봅시다. 예를 들어 보겠습니다. CSV 파일에서 데이터를 가져오는 Spark 작업을 작성할 수 있습니다. 일부 손상된 레코드를 필터링하고 분석 준비가 된 SQL 데이터베이스에 데이터를 로드합니다. 그러나 이 작업을 매일 수행해야 한다고 가정해 봅시다. 한 가지 옵션은 작업을 매일 수동으로 실행하는 것입니다. 그러나 물론 그 방법은 확장 가능하지 않습니다. 주말은 어떤가요? 이를 위해 이 문제를 해결할 수 있는 간단한 도구가 있습니다. Linux 도구인 cron과 같습니다. 그러나 CSV 파일에 대한 작업이 하나 있고 API에서 데이터를 가져오고 정리하는 또 다른 작업, CSV와 API의 데이터를 결합하는 세 번째 작업이 있다고 합시다. 세 번째 작업은 기본적으로 처음 두 작업이 먼저 완료되는지에 따라 달라집니다. 보다 총체적인 접근 방식이 필요하다는 것이 금방 명백해집니다. cron과 같은 간단한 도구로는 충분하지 않습니다. 이러한 작업을 조정하는 것은 워크플로 예약 프레임워크의 일입니다. 결국 작업 간의 종속성이 생겼습니다. 이러한 종속성을 시각화하는 좋은 방법은 방향 비순환 그래프(DAG)를 통해 이루어집니다. DAG는 방향을 갖는 간선으로 연결된 노드의 집합이며 순환이 없는 그래프입니다. 이는 방향을 갖는 간선을 따르는 경로가 특정 노드를 두 번 이상 가리키지 않음을 의미합니다. 슬라이드의 예에서 작업 A가 먼저 발생해야 한다는 것을 알 수 있습니다. 그런 다음 작업 C와 D를 활성화하는 작업 B를, 마지막으로 작업 E를 활성화합니다. 보시다시피, DAG에서 이러한 종류의 워크플로를 나타내는 것이 자연스럽게 느껴집니다. 작업은 DAG로 표시되며 일일 일정에 따라 실행될 수 있습니다. 종속성 및 DAG 예약에 대해 이야기했습니다. 이 작업에 사용할 수 있는 도구에 대해 논의해 보겠습니다. 대부분의 회사는 완전한 솔루션을 사용하며, Linux cron은 이에 대한 매우…

목차