230609 - 데이터 파이프라인과 Airflow 소개

김지석·2023년 6월 19일
0

데이터 파이프라인

  • 데이터 시스템 바깥의 데이터를 안쪽으로 가져오는 ETL을 작성하는데 사용됨.
    • 데이터 시스템 : 작게 보면 데이터 웨어하우스, 크게 보면 데이터 레이크(스토리지)
  • 데이터 시스템 안으로 들어온 데이터를 조인해서 새로운 정보를 만드는 ELT를 작성하는데 사용됨.

Airflow란?

  • Airflow는 파이썬으로 작성된 데이터 파이프라인 (ETL) 프레임웍
    • 가장 많이 사용되는 데이터 파이프라인 관리/작성 프레임웍
    • Airflow에서 데이터 파이프라인을 DAG(Directed Acyclic Graph)라고 부름
  • Airflow의 장점
    • 데이터 파이프라인을 세밀하게 제어 가능
    • 다양한 데이터 소스와 데이터 웨어하우스를 지원
    • 백필(Backfill)이 쉬움
  • Airflow 관련 중요 용어/개념
    • start_date(dag의 처음 실행 날짜), execution_date(데이터 읽어오는 날짜), catchup
  • 스케일링 방식
    • Scale Up(CPU 사양 향상) vs. Scale Out(워커 서버 추가) vs. 클라우드 버전
      vs. K8s 사용

데이터 파이프라인 작성시 기억할 점

  • 데이터 파이프라인에 관한 정보를 수집하는 것이 중요
    • 비지니스 오너(데이터 요청자)와 데이터 리니지(계승 구조 파악 안됨)에 주의할 것
    • 결국 데이터 카탈로그(메타 데이터 검색)가 필요, 데이터 디스커버리 툴
  • 데이터 품질 체크
    • 입력 데이터와 출력 데이터
  • 코드 실패를 어설프게 복구하려는 것보다는 깔끔하게 실패하는 것이 좋음
  • 가능하면 Full Refresh
    • Incremental Update를 쓸 수 밖에 없다면 Backfill 방식을 먼저 생각해둘 것
      -> Airflow가 필요한 이유
  • 주기적인 청소 (데이터, 테이블, Dag)

다음 스텝

  • Airflow 고도화 강의에서 더 많은 내용을 공부할 예정
    • 운영, 고급 기능 (다양한 방식의 DAG 트리거), 구글 스프레드시트 연동, 슬랙 연동
  • 컨테이너 기술 공부 (Docker와 K8s)
  • Spark에 대해 학습하여 빅데이터 처리
  • 배치가 아닌 리얼타임 기준으로 스트리밍 데이터 처리 (Kafka, Kinesis)
profile
초짜에요...

0개의 댓글