본문 바로가기
728x90

etl6

[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 변경점 정리 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] Airflow로 ETL 파이프라인 V2 만들기 (Variables + TaskGroup을 활용한 Task Factory 구현) 이번 포스트에는 저번에 작성했었던 각 작업들을 통합하여 만든 DAG인 ETL 파이프라인 구축하기 V1에서 중복된 태스크는 줄이고, 병렬실행을 도입시켰으며, task를 정의한 Variables 변수에 따라 Dynamic하게 갯수와 이름이 변하게 되게 끔 구성하였습니다. 저번에 작성한 포스트를 보고 싶으시다면 아래의 링크를 확인해주세요. https://spidyweb.tistory.com/506 [Airflow] Airflow로 ETL 파이프라인 만들기(python, EMR, glue crawler, Email, Slack, DB반영) 이번 포스트에는 회사에서 수동으로 처리하고 있던 일회성 ETL작업을 Airflow DAG으로 묶어서 파이프라인을 만든 경험에대해서 소개해드리겠습니다. 기존 업무 처리방식과 A.. 2024. 2. 9.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 이번 포스트에는 아주 간단한 ETL을 구현하는 프로젝트를 해보겠습니다. 프로젝트 자체는 필요한 것만 최소한의 시간으로 최소한의 비용으로 구성했으며, 점차 추가기능들을 구현하거나 수정할 부분을 수정하여, sub version을 포스트 하겠습니다. 프로젝트에서 다루는 것 ETL python파일 corona API를 restAPI로 받아오는 법 --수집 python library인 bs4를 이용하여 lxml로 파싱후, list로 변환 --처리 list를 pyspark dataframe으로 변환 --처리 오늘, 전체, 날짜별 dataframe을 단일 csv파일로 저장 --저장 오늘, 전체, 날짜별 dataframe을 기준날짜를 기준으로 partition하여(partitionBy) csv파일로 저장 --저장 da.. 2022. 2. 17.
[IT용어] (데이터 이관) CDC(Change Data Capture), ETL(Extract Transform Load), ODS(Operational Data store) # CDC 실시간으로 원천 데이터의 변경 사항을 감지하여 이관하는작업이 CDC(Change Data Capture)이다. 다양한 방법으로 캡쳐를 진행하나, 로그를 읽어 변경을 반영하는 방법과 통신을 통한 변경이 주로쓰인다. 현업에서 CDC란 용어는 실시간데이터가 반영된 EDW 그 자체를 칭하기도 한다. # ETL 그리고 데이터를 이관하기위해 추출, 변환, 적재라는 일련의 과정을 거치는데 이를 ETL이라고 한다. ETL 도구로는 SSIS(MS-SQL), ODI(Oracle), ESF 등이 있다. # ODS 현재는 ODS가 staging과 같은의미로 1차적인 데이터 수집공간(temporary)으로 표현되곤한다. EDW로 이관을 위한 중간단계 데이터로, 원천데이터의 복사본으로 사용한다. #Snap Shot D.. 2021. 5. 15.
[IT용어](데이터 흐름) 기간계, 정보계, ODS(Operational Data Store), EDW(Enterprise Data Warehouse), Data Mart(DM), OLAP(On line Analysis Process), ETL(Extract Transform Load),ELT(Extract Load Transform) 운영계 시스템 기업 운영에 필요한 업무용 시스템이며, 이 시스템의 사용자는 직원이 될 수도 있고, 외부 고객이 될 수도 있음 예를 들어 전자상거래 사이트에서 물건을 주문했을 경우, 인터넷뱅킹 사이트에서 이체를 진행했을 경우, 내부 인사시스템의 사원 정보를 갱신하는 경우와 같이 프로세스가 모두 운영계 시스템에서 처리 이 시스템에 발생하는 데이터는 대부분 데이터베이스 트랜잭션 단위로 데이터를 처리하고, 저장하며 흔히 OLTP(Online Transaction Processing) 데이터라고 표현 금융권 운영계 운영계시스템을 분류하여 기간계, 계정계, 정보계, 대외계와 같은 용어를 사용합니다. 1. 기간계(Legacy, Existing) 1) 정의 : 고객이 사용하던 기존 시스템(새로운 시스템 도입 기준시점 .. 2021. 5. 15.
728x90