본문 바로가기

Data Mining/Airflow

[ Airflow ] 버전별 특징 알아보기

반응형

Apache Airflow는 워크플로우와 데이터 파이프라인을 작성하고 모니터링하는 데 사용되는 오픈 소스 도구입니다. 버전 별로 주요 변경 사항과 특징은 다음과 같습니다.

1. Apache Airflow 1.10.x

  • 지원 Python 버전: Python 2.7 및 Python 3.5 이상
  • 주요 특징:
    • 초기 단계에서의 안정된 기능 제공
    • 기본적인 태스크 스케줄링 및 DAG 관리 가능
    • Executor로 LocalExecutor, SequentialExecutor, CeleryExecutor 지원
    • Python 2.7 지원(마지막 버전)
  • 한계:
    • Python 2.7 지원 종료 이후 유지보수가 중단됨
    • DAG 관리와 UI의 한계

2. Apache Airflow 2.x

  • 지원 Python 버전: Python 3.6 이상
  • 주요 특징:
    • 스케일링 개선:
      • Scheduler가 멀티 프로세싱 지원 (병렬 작업 가능)
      • 더 많은 작업 부하를 효율적으로 처리
    • API 추가:
      • REST API 도입으로 확장성과 통합성 강화
    • TaskGroup:
      • DAG의 서브그래프를 시각적으로 그룹화하여 복잡도 감소
    • 새로운 Executor:
      • KubernetesExecutor 도입
      • 더 나은 확장성과 클라우드 지원
    • UI 개선:
      • 작업 관리 및 로그 확인의 편의성 강화

3. Apache Airflow 2.6+ (최신)

  • 지원 Python 버전: Python 3.7 이상
  • 추가된 기능:
    • Dynamic Task Mapping 확장
    • DAG 속성 기반 접근성 개선
    • 더욱 효율적인 로그 관리 및 리소스 최적화
  • 확장성:
    • 다양한 클라우드 제공자 통합(예: AWS, Google Cloud, Azure)
    • 플러그인 확장 지원

설치 시 주요 고려사항

  • Python 버전: Airflow 버전은 Python 버전과 밀접하게 연관되어 있습니다.
  • 의존성 관리: 설치 전, Airflow가 요구하는 의존성을 충족해야 합니다(예: Celery, Redis, 데이터베이스 드라이버).
  • 데이터베이스: Airflow는 SQLite, MySQL, PostgreSQL을 지원합니다. 프로덕션 환경에서는 MySQL이나 PostgreSQL을 권장합니다.

필요 시 RHEL 7.9에 적합한 Airflow 버전과 설치 방법에 대한 추가 지원을 드릴 수 있습니다! 😊

반응형