본문 바로가기
728x90

BigData/Apache Airflow27

[Airflow] Airflow 3.0 Feature, 변경 사항 및 UI 한번에 정리하기 이번 포스트에는 Airflow 3.0에서 변경 되거나 도입된 다양한 Feature에 대해서 정리해보고, 이전에 docker compose를 통해 설치해본 Airflow 3.0 UI를 직접 확인해보면서 정리해보겠습니다.Airflow 3.0 설치는 아래 링크를 참조해주세요.https://spidyweb.tistory.com/591 [Airflow] Airflow 3.0 version 탐구 1) docker로 설치 해보기이번에 Airflow 3.0 version이 release됐는데, 관련해서 docker로 한번 설치해보고, 변경 사항들을 직접 확인해보겠습니다. 1. AWS에 EC2 생성서버 스펙- 이미지: Amazon linux2- Instance type: c5n.large(2Vcores, 5.3GB Me.. 2025. 5. 27.
[Airflow] Airflow Backfill에 대해서 정리하기 (Feat. catchup) 이번 포스트에는 Airflow Backfill기능에 대해서 집중적으로 정리 해보겠습니다. 1. Backfill 기능이란?한 마디로 한다면 "Airflow에서 이전에 실행되지 않은 작업(태스크)을 자동으로 실행하는 과정"DAG(Directed Acyclic Graph)에서 이전의 실행 날짜나 특정 기간에 대한 작업을 다시 수행, backfill을 실행할 때 시작 날짜와 종료 날짜를 지정하여 특정 기간 동안의 작업을 재실행 start_date 부터 시작하지만 end_date 은 포함하지 않음주로 작업이 실패했거나 실행되지 않은 경우에 유용하게 사용execution_date를 사용해서 Incremental update가 구현되어 있어야 의미가 있음, master성(full refresh는 멱등성이 보장된 방법.. 2025. 3. 25.
[Airflow] Airflow 3.0 version 탐구, docker로 설치 해보기 이번에 Airflow 3.0 version이 release됐는데, 관련해서 docker로 한번 설치해보고, 변경 사항들을 직접 확인해보겠습니다. 1. AWS에 EC2 생성서버 스펙- 이미지: Amazon linux2- Instance type: c5n.large(2Vcores, 5.3GB Mem) 우선 EC2에 적당한 스펙의 서버를 하나 생성합니다. 연결하기 위해 미리 생성해둔 pem파일 권한을 변경해주고, ssh로 연결해줘도 되지만, 저는 편의상 콘솔에서 바로 붙어서 사용하겠습니다. 2. Docker 설치1) 도커 설치$ sudo yum update -y$ sudo yum install docker -y 2) 도커 실행$ sudo systemctl start docker$ sudo service do.. 2025. 3. 25.
[Airflow] Airflow 개념과 전체적인 구조 정리 이번 포스트에는 Airflow의 구조에 대해서 간단하게 정리 해보겠습니다.1. LocalExecutor를 사용하는 Single Node ArchitectureSingle Node Architecutre에는 크게 4가지 모듈이 있습니다.WebServer:Airflow의 웹서버는 사용자가 DAG의 상태를 확인하거나 로그를 조회할 수 있도록 웹 인터페이스를 제공기본적으로 Flask로 구축되어 있음Scheduler: Airflow 스케줄러는 정의된 DAG(Directed Acyclic Graph)의 Task를 스케줄에 따라 실행여러 DAG에서 병렬 작업을 관리하며, Executor와 연동해 작업을 처리Metastore: DAG, USER, 권한, 실행 이력과 같은 테이블을 저장하고 있으며, PostgreSQL,.. 2025. 1. 17.
[Airflow] Airflow 3.0 version 변경점 정리 Airflow가 2025 3월31일에 공개될 예정인데, 관련해서 어떤 변경점이 있는지 정리해보겠습니다.그 동안 사용자들이 추가 기능을 요구 한 것은 아래와 같았습니다. 정말 사용자 입장에서 다 필요한 것들을 공통적으로 생각하고 있었다고 동의할 수 밖에 없는 항목들 인 것 같습니다.Airflow 3.0 변경점 TASK 실행에 대한 변경 사항 (확실히 대세인 오픈 소스 3대장)SDK  변경사항importing form the airflow module 이 deprecate될 예정 1) Python 3.9 이상 지원Airflow 3.0은 Python 3.9 이상의 버전만을 지원하며, 이는 최신 Python 기능과 보안 업데이트를 활용하기 위함기존 워크플로와 플러그인이 Python 3.9 이상과 호환되는지 확인.. 2025. 1. 17.
[Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리 포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 3번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축https://spidyweb.tistory.com/544 3. [Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리https://spidyweb.tistory.com/5451. DAG 이전 경험 공유기존에 존재하던 다양한 명칭 → 표준화된 규칙에의해 .py , DAG 명 일괄 변경 및 .. 2024. 6. 22.
[Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축 포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 2번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축https://spidyweb.tistory.com/544 3. [Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리https://spidyweb.tistory.com/5451. 표준과 자동화기존의 Airflow DAGs는 다양한 사용자로부터 다양한 코드 포멧과 스타일에 따라 python.. 2024. 6. 22.
[Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전(AWS EKS) 이번 포스트에는 NCP 플랫폼에서 새로 구축해본 airflow on k8s 경험을 토대로 저희 주된 배치를 관리하는 AWS 플랫폼 위에서의 Airflow 이전 경험을 공유드리려고 합니다.기존에는 airflow 환경은 EC2한대에 올라가 있었고, IAC로 airflow가 관리되고 있지도 않았고, image에 대해서도 형상관리가 되지 않았습니다. 또한 서버에 대한 확장성이 모잘라서, SIGTERM 에러도 많이 발생 했었습니다.    포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 1번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] T.. 2024. 6. 22.
[Airflow] Sensor 정리, ExternalTaskSensor 와 S3KeySensor 이번 포스트에는 Airflow에서 특정 작업 혹은 객체를 감지하는 Sensor, 그 중에서도 많이 쓰일 것으로 추정되는 S3KeySensor와 ExternalTaskSensor를 정리해보겠습니다. 1. Sensor란Airflow에서는 특정 상황이 발생할때까지 대기하는 Sensor Operator를 제공시간이 기준이 될 수도 있고 파일이나 외부 이벤트가 기준이 될수도 있음Sensor를 사용하면 이러한 상황이 발생할 때까지 기다렸다가 downstream task들이 진행되게 할 수 있음2. ExternalTaskSensor다른 DAG의 특정 작업이 끝나기를 체크했다가 다음 의존관계가 있는 task를 실행할 때 사용import pendulumfrom airflow import DAGfrom airflow.op.. 2024. 6. 22.
728x90