개발공부
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를 사용하여 설치
- 새 프로젝트를 만들고 툴을 시작합니다(
demo_project
를 다른 이름으로 변경해도 괜찮습니다).
docker run -it -p 6789:6789 -v $(pwd):/home/src mageai/mageai \\ mage start demo_project
- 브라우저에서 http://localhost:6789을 열어 파이프 라인을 빌드합니다.
pip
또는 conda
사용
Mage
를 설치합니다.
pip install mage-ai
또는
conda install -c conda-forge mage-ai
추가 패키지(예: spark
, postgres
등)에 대해서는 추가 패키지 설치를 참조하세요. 오류가 발생하면 오류 수정을 참조하세요.
- 새 프로젝트를 만들고 툴을 시작합니다(
demo_project
를 다른 이름으로 변경하면 괜찮습니다).
mage start demo_project
- 브라우저에서 http://localhost:6789을 열어 파이프 라인을 빌드합니다.