7장. 파이프라인 오케스트레이션
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이전 장에서는 데이터 수집, 데이터 변환, 머신 러닝 파이프라인의 단계 등 데이터 파이프라인의 블록을 구축하는 방법에 대해 설명했습니다. 이 장에서는 이러한 블록이나 단계를 '오케스트레이션'하거나 함께 묶는 방법을 다룹니다.
오케스트레이션은 파이프라인의 단계가 올바른 순서로 실행되고 단계 간의 종속성이 올바르게 관리되도록 합니다.
2장에서 파이프라인 오케스트레이션의 어려움을 소개할 때 워크플로 오케스트레이션 플랫폼 ( 워크플로 관리 시스템 (WMS), 오케스트레이션 플랫폼 또는 오케스트레이션 프레임워크라고도 함)의 개념도 소개했습니다. 이 장에서는 가장 널리 사용되는 프레임워크 중 하나인 Apache Airflow를 중점적으로 살펴보겠습니다. 이 장의 대부분은 Airflow의 예제를 다루고 있지만, 개념은 다른 프레임워크에도 적용할 수 있습니다. 실제로 이 장의 뒷부분에서 Airflow에 대한 몇 가지 대안을 소개합니다.
마지막으로 이 장의 후반부에서는 데이터 인프라에서 여러 파이프라인을 조정하는 것을 포함하여 파이프라인 오케스트레이션의 고급 개념에 대해 설명합니다.
방향성 비순환 그래프
2장에서 DAG를 소개했지만, 다시 한 번 반복해서 설명할 필요가 있습니다. 이 장에서는 데이터 파이프라인에서 작업을 오케스트레이션하기 위해 Apache Airflow에서 어떻게 설계되고 구현되는지에 대해 설명합니다.
파이프라인 단계(작업)는 항상 지시형이므로 한 작업 또는 여러 작업으로 시작하여 특정 작업으로 끝납니다. 이는 실행 경로를 보장하기 위해 필요합니다. 즉, 모든 종속 작업이 성공적으로 완료되기 전에 작업이 실행되지 않도록 보장합니다.
또한 파이프라인 그래프는 비순환적이어야 하는데, 이는 작업이 이전에 완료된 작업을 다시 가리킬 수 없다는 뜻입니다. 다시 말해, 순환할 수 없다는 뜻입니다. 만약 가능하다면 파이프라인은 끝없이 실행될 수 있습니다!
그림 7-1에 설명된 2장의 다음 DAG 예시를 기억하실 것입니다. 이것은 Apache Airflow에서 정의된 DAG입니다.
그림 7-1. 4개의 태스크가 있는 DAG. 태스크 A가 완료되면 태스크 B와 태스크 C가 실행됩니다. 두 태스크가 모두 완료되면 태스크 D가 실행됩니다.
Airflow의 작업은 SQL 문 실행부터 Python 스크립트 실행까지 모든 것을 나타낼 수 있습니다. 다음 섹션에서 볼 수 있듯이, Airflow를 사용하면 데이터 파이프라인에서 작업을 정의, 예약 및 실행하고 적절한 순서로 실행되도록 할 수 있습니다.
Apache Airflow 설정 및 개요
에어플로는 2014년에 에어비앤비에서 막심 보셰민이 시작한 오픈소스 프로젝트입니다. ...