본문 바로가기

데이터파이프라인

[TIL] 10주차_Day45: 데이터 파이프라인, Airflow (5) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 다섯 번째 수업을 진행했습니다. Production DB to Data Warehouse DAG, Backfill 실습 1. Review - start_date, execution_date, DAG의 첫 실행 날짜 1. start_date: DAG가 읽어와야 할 데이터의 시점 (ex: 매일 1번 실행되는 DAG의 start_date = 2021/02/05이라면 DAG의 첫 실행 날짜 = 2021/02/06) → 5일의 데이터 읽고싶음 = 5일에 쌓인 모든 데이터를 6일에 실행해서 읽어와야 함 2. execution_date: DAG가 처음 읽어와야하는 데이터의 날짜, 따라서 DAG 실행동안 변경되지 x, 각 task가 실행될 때 사용.. 더보기
[TIL] 10주차_Day43: 데이터 파이프라인, Airflow (3) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 세 번째 수업을 진행했습니다. DAG 작성 실습 1. Airflow 예제 프로그램 살펴보기 - PythonOperator : 태스크 실행 (내부에 dag와 task 지정) : python_callable = [파이썬으로 짠 task_함수명 지정] → PythonOperator의 entry 함수 : params = {딕셔너리 형태} → task 함수(즉, entry 함수)에 공통으로 적용되는 파라미터, task함수로 전달하고 싶은 인자들 - Airflow Decorators 사용하기 from airflow.decorators import task @task def print_hello(): print("hello!") return "h.. 더보기
[TIL] 10주차_Day42: 데이터 파이프라인, Airflow (2) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 두 번째 수업을 진행했습니다. Airflow 설치 및 실습 1. 트랜잭션 이해하기 - 테이블 업데이트 (Full Refresh vs. Incremental Update) TRUNCATE: 조건 x, 테이블의 모든 레코드 삭제, SQL 트랜잭션 무시 DELETE FROM: 조건에 맞는 레코드 삭제, SQL 트랜잭션 준수 - 트랜잭션이란? : BEGIN ~ COMMIT/END or ROLLBACK auto commit = True: 기본적으로 모든 SQL 문이 물리적인 테이블 공간에 바로 커밋됨, BEGIN~END로 바꿀 수 있음 auto commit = False: 모든 operation이 자동으로 커밋되지 않음, 모두 staging .. 더보기
[TIL] 10주차_Day41: 데이터 파이프라인, Airflow (1) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 첫 번째 수업을 진행했습니다. Airflow 설치 및 실습 1. 데이터 파이프라인(=ETL) 소개 - 데이터 웨어하우스 구성 1️⃣데이터 소스(프로덕션 DB, 트랜잭션 데이터, 유저 데이터, 콜 데이터, 세일즈 데이터, ...) → 다수의 ETL → 2️⃣Airflow+데이터 웨어하우스 (요약 테이블 만들기 = ELT = 데이터 분석) → 3️⃣대시보드 - ETL : ETL = Extract(데이터 소스로부터 Data Dump ex: 파일 다운로드, API 호출) + Transform(원하는 형태로 변환, 추출) + Load(데이터 웨어하우스에 테이블 형태 등으로 적재) : DAG = Directed Acyclic Graph (루프 .. 더보기
반응형