오늘은 10주차 Airflow 기본의 마지막 학습 날이었다. 수업에서는 Mysql의 nps 테이블의 내용을 Airflow를 이용하여 S3에 적재 후, Redshift로 최종 데이터를 적재하는 실습을 진행하였다. 이번주에 배운 Airflow와 지난 주에 배운 Redshfit와 S3를 총 연결하는 실습이라 즐기며 실습을 진행했고, 실제 실무에서 할 만한 작업을 데모로 진행해본 것 같아 의미가 컸다. 👍 목차는 다음과 같다. 실습에 앞서, Mysql에서 Redshfit로 데이터를 적재할 수 있는 방법을 정리한 후, 이를 Full Refresh와 Incremental Update 형식 두 가지로 작성한 Dag를 직접 실행한 내용을 정리해보겠다. 실습 개요 OLTP(MySQL) → Airflow → S3 → OL..
전체 글
"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로이번주 Airflow 학습 4일차에는 마지막 섹션으로 Backfill에 대해 학습하였다. Backfill의 개념을 알아보며 Airflow의 Execution Date과 StartDate에 대해 설명을 해주셨는데, 이 두 Date 개념이 이해가 안 되어 5번 넘게 뒤로 감기를 반복했다. 😂 예시를 보며 이해하고, 이해한 것을 정리하니까, 현재는 헷갈리진 않다. 다만, 예시를 daily DAG 위주로 봤던터라 다른 사례를 보면 머리가 복잡해지며 답이 떠오르지 않는다. 이는 추후 추가학습으로 진행해야겠다 Backfill Backfill은 Incremental Update시 이슈임 일반적으로 Full Refresh형태가 좋으며, 데이터가 커져서 Full Refresh를 사용하기 힘들 경우엔 Incremental..
10주차 3일차와 4일차에는 OpenAPI로 데이터를 가져와(Extract) → 변환하고(Tranform) → 이를 Redshift의 table로 저장(Load)하는 실습들을 진행하였다. 실습 정리에 앞서, Primary Key Uniqueness와 관련된 이론과 Upsert 기법을 짧게 정리후, 주제별로 총 3개의 실습을 순차적으로 정리하겠다. [ 구성 ] 1. Primary Key Uniqueness와 Upsert 기법 2. 실습1. Yahoo Finance API 로 애플 주식 읽어오기 (버전 3가지) 3. 실습2. RestCountries의 세계 나라 정보 API로 국가 정보 읽어오기 4. 실습3. Open Weathermap API로 서울 8일 낮/최소/최대 온도 읽어오기 (버전 3가지) * 위..
지난 교육에서는 Bash Operator를 이용하여 간단한 실습을 진행했다. 이번에는 Python Opertaor와 Connection/Variables 그리고 Xcom 등을 이용하여 저번에 작성한 간단한 ETL 프로세스 코드를 개선하는 실습을 진행했다. ≫ 이를 통해 Airflow 구동에 필요한 기본 문법들을 배울 수 있었다. 본 글에서는 코드와 관련된 기본 개념을 정리 후, 실습 내용을 정리한다. 벌써부터 앞으로 진행할 심화된 실습들이 기대된다 🏃♂️🔥 PART1. 기본 코드 및 개념 정리 #️⃣ 01. default_args 모든 테스크에 공통으로 적용될 설정 from datetime import datetime, timedelta default_args = { 'owner': 'hyemin', ..
이전글(링크)에서 Airflow에 대해 알아보았다. 이어서 Airflow를 설치하고 간단한 실습을 해보겠다. 설치는 직접 설치와 클라우드 서비스 이용하는 방법 2가지로 나뉘는데, 직접 설치하는 법(도커)을 중점적으로 정리한다. 01. Airflow 설치 방법 실무에서는 Airflow가 기본으로 서버 3대로 구동되어 비용 만만치 않음 가장 편리하고 좋은 것은 사양 좋은 ec2 인스턴스에 도커를 설치하고 이 위에 airflow를 구동하는 것임 (다만 최소 8gb의 메모리 요함) 개인 실습 용으로는 랩탑에 도커 설치하기 (1) 직접 설치 1. 로컬에 도커로 Airflow 설치 윈도우에서는 6GB, Mac기준 4GB 필요함 2. AWS EC2 리눅스(20.04)서버에 설치 t3.small나 t3a.small 인..
이번주 월요일부터 Airflowd의 기본 개념과 설치하는 방법을 학습했다. 학습을 진행하며 워커, 스케줄러 등 Airflow 구성요소와, 스케일링 방법을 배울 수 있었다. 차례대로 Airflow 정의와 구성 요소등을 정리하고, 다음 글에 이어서 설치하는 법을 정리하겠다. 01. Airflow란 가장 많이 사용되는 데이터 파이프라인 관리/작성 프레임워크 Airflow는 파이썬으로 작성된 데이터 파이프라인 (ETL) 프레임워크 데이터 파이프라인 스케줄링 지원 정해진 시간에 ETL 실행 혹은 한 ETL의 실행이 끝나면 다음 ETL 실행 웹 UI 제공 데이터 파이프라인(ETL)을 쉽게 만들 수 있음 다양한 데이터 소스와 데이터 웨어하우스를 쉽게 통합해주는 모듈 제공 Backfill 등 데이터 파이프라인 관리 관..