개발공부

Airflow의 현대적인 대체품

Amor Fati by Nietzsche 2023. 3. 22. 13:22

A Modern Replacement For Airflow를 번역한 글입니다.


Mage는 데이터 변환 및 통합을 위한 오픈 소스 데이터 파이프 라인 도구입니다. Mage는 Airflow의 현대적인 대체품입니다.

별점: 2.9k
라이센스:  Apache-2.0
언어: Python(61.1%), TypeScript(33.9%)
링크: https://github.com/mage-ai/mage-ai

주요 기능

오케스트레이션

관측 가능성과 함께 데이터 파이프 라인을 스케줄링하고 관리합니다.

노트북

코딩 데이터 파이프 라인을 위한 인터랙티브 Python, SQL, & R 에디터입니다.

데이터 통합

3rd party 소스에서 내부 목적지로 데이터를 동기화합니다.

스트리밍 파이프 라인

실시간 데이터를 수집하고 변환합니다.

DBT

Mage를 사용하여 DBT 모델을 빌드, 실행 및 관리합니다.

Mage는 데이터 팀에 마법같은 능력을 부여합니다.

  • 3rd party 소스에서 데이터를 통합 및 동기화합니다.
  • Python, SQL 및 R을 사용하여 데이터를 변환하기 위해 실시간 및 배치 파이프 라인을 빌드합니다.
  • 이제 더 이상 잠을 잃지 않고 수천 개의 파이프 라인을 실행, 모니터링 및 오케스트레이션합니다.

1. 빌드

Airflow에서 개발을 좋아하는 사람을 만나본 적이 있나요? 이것이 우리가 쉽게 개발자 경험을 설계한 이유입니다.

  • 쉬운 개발 경험: 하나의 명령어로 로컬에서 개발을 시작하거나 Terraform을 사용하여 클라우드에서 개발 환경을 시작합니다.
  • 선택하는 언어: 최대 유연성을 위해 Python, SQL 또는 R로 코드를 작성합니다.
  • 엔지니어링 최상의 표준이 내장되어 있습니다: 파이프 라인의 각 단계는 재사용 가능하고 데이터 유효성 검증이 가능한 모듈형 코드가 포함된 독립형 파일입니다. 더 이상 손상된 DAG가 없습니다.

2. 미리보기

DAG 테스트가 완료될 때까지 기다리는 시간을 낭비하지 마세요. 코드를 실행할 때마다 즉시 피드백을 받으세요.

  • 대화형 코드: 대화형 노트북 UI로 코드의 출력 결과를 즉시 확인할 수 있습니다.
  • 데이터는 일급 시민입니다: 파이프 라인의 각 코드 블록은 버전 관리, 파티셔닝 및 추후 사용을 위해 카탈로그화된 데이터를 생성합니다.
  • 클라우드에서 협업: 클라우드 리소스에서 함께 개발하고, Git으로 버전 관리하며, 기다리는 대기 환경이 없이 파이프 라인을 테스트합니다.

3. 론칭

Airflow에 특화된 대규모 팀이 없나요? Mage를 사용하면 단일 개발자 또는 소규모 팀도 수천 개의 파이프 라인을 확장하고 관리하기 쉽습니다.

  • 빠른 배포: 유지 관리되는 Terraform 템플릿을 사용하여 AWS, GCP 또는 Azure에 Mage를 배포합니다.
  • 간단한 확장: 데이터 웨어하우스에서 또는 Spark의 네이티브 통합을 통해 매우 큰 데이터 세트를 직접 변환합니다.
  • 관측 가능성: 직관적인 UI를 통해 내장된 모니터링, 경고 및 관찰 기능으로 파이프 라인을 운영합니다.

빠른 시작

Docker (권장), pip 또는 conda를 사용하여 Mage를 설치하고 실행할 수 있습니다.

Docker를 사용하여 설치

  1. 새 프로젝트를 만들고 툴을 시작합니다(demo_project를 다른 이름으로 변경해도 괜찮습니다).
docker run -it -p 6789:6789 -v $(pwd):/home/src mageai/mageai \\  mage start demo_project
  1. 브라우저에서 http://localhost:6789을 열어 파이프 라인을 빌드합니다.

pip 또는 conda 사용

  1. Mage를 설치합니다.
pip install mage-ai

또는

conda install -c conda-forge mage-ai

추가 패키지(예: spark, postgres 등)에 대해서는 추가 패키지 설치를 참조하세요. 오류가 발생하면 오류 수정을 참조하세요.

  1. 새 프로젝트를 만들고 툴을 시작합니다(demo_project를 다른 이름으로 변경하면 괜찮습니다).
mage start demo_project
  1. 브라우저에서 http://localhost:6789을 열어 파이프 라인을 빌드합니다.