airflow 5

airflow에서 start_time, execution_time, backfill, catchup

1.airflow의 시간 https://airflow.apache.org/docs/apache-airflow/stable/faq.html#what-s-the-deal-with-start-date: start_date, execution_date 공식문서 1-1.start_date 실행 날짜가 아니라 스케줄 시작 시간으로 DAG 첫 실행은 'start_date + 실행주기' 에 실행하게 된다. start_date: 2023-08-01 00:00:00 hourly job: schedule: 0 * * * * (매시 0분에 실행) → DAG의 첫 실행은 2023-08-01 01:00:00 daily job: schedule: 0 10 * * * (매일 10시 0분에 실행) → DAG의 첫 실행은 2023-08..

airflow는 어떻게 작동할까? 그리고 DAG란?

기존에 다른 배치 프로그램을 사용하다가 airflow로 넘어오면서 뭐 같은 workflow 프로그램 이겠구나 싶었다. 근데 airflow만의 문법이나 기능? 개념? 등을 새롭게 접하면서 단순히 똑같은 배치 프로그램이라고 생각하고 넘어가기 보다는 찾아보고 정리하는 부분이 필요하다고 느꼈다. 그리고 airflow만의 시간에 대한 공부없이 냅다 dag를 만들어서 구현하려다 보니 너무 고생했어서 여기다 같이 정리 하겠다 ㅇㅅㅇ. 1.airflow란? Apache Airflow™는 python 코드로 워크플로우(workflow)를 개발하고, 스케줄링 및 모니터링하기 위한 오픈 소스 플랫폼. DAG(Directed Acyclic Graph, 유향 비순환 그래프): python으로 작성한 workflow로 이를 통해..

airflow DAG 결과를 Slack API로 메세지 받아보기

기존에 Jenkins를 이용해 코드 배치관리를 진행했는데 코드 관리나 배치 관리 복잡도가 증가하면서 모델별로 하나의 DAG로 관리하고 체계적인 system화를 위해 airflow로 배치를 옮기고 있다. 거기다 기존의 hive sql을 pyspark로 구현해서 정리까지 하고있는데 병아리 수준에서 시스템, 코드를 뜯어보고 새롭게 구성하려고 하니 에러 투성이다 ㅠ Slack에서 제공되는 API를 활용하여 구성해둔 DAG가 정상 작동 했는지 메세지를 전달 받아 모니터링을 효율적으로 하는 목적으로 해당 페이지를 작성했다. 참고로 Slack과 airflow는 설치 및 세팅이 돼 있다는 가정하에 작성했고 DAG 구성에 대한 디테일한 설명은 없다. 추후에 공부하고 정리해서 따로 올리려고 한다. [목차] 1.airflo..

[프로그래머스] 데이터 엔지니어 study - 3주차

0.커리어를 시작하는 관점에서 커리어는 정글짐 - 방향성 다양 40전에 다양한 경험 전문성 - 학습할 자신감, 변화 두려워 하지 않는 마음 1.결과를 내는데 집중하기 성취하는 경험하기 어떤 결과를 낼 것인지 생각 일을 왜하고 어떻게 끝내야 성공으로 끝나는지 나에게 일 준 사람 입장에서 생각하고 문제 정의 중요하지 않는 일은 대충하기 2.성장을 저해하는 요소 나이 혹은 남과의 비교 나에 대한 고정관년 과거의 상처 3.인격적인 성숙 긍정적인 태도 불만 1개, 감사 1개 주기적으로 회고 실수를 인정하는 여유, 모를때 모른다 4.시작과 꾸준함의 중요성 - 복리가 있는 일 시작이 반 꾸준히 매일 운동, 학습(호기심), 네트워킹(사람 만나기), 책읽기(글쓰기) 5.네트워크의 중요성 사람들 만날때 호기심 갖기 첫 인..

ETL vs ELT 차이 및 장, 단점

1.ETL(Extract - Transform - Load) Extract(추출): Data source로부터 데이터 추출 Transform(변형): 데이터를 원하는 format으로 변형 Load(적재): DW(데이터 웨어하우스)로 데이터 적재 ETL(Extract - Transform - Load)은 데이터 엔지니어의 기본업무로 데이터 soure로부터 raw 데이터를 추출(Extract)하고 처리 서버에서 원하는 format으로 변형(Transform)하는 과정을 거쳐 DW(데이터 웨어하우스)에 적재(Load)하는 데이터 통합 방법이다. ETL 과정이 필요한 이유는 OLAP(Online Analytical Processing) 데이터 웨어하우스에서는 관계형 SQL 기반의 데이터 구조만 지원하기때문에 r..