융무의 기술블로그
article thumbnail

데이터 엔지니어링 줌 캠프 PJT를 진행하면서 관련된 내용을 정리하고자 합니다.

프로젝트의 코드는 github에서 확인할 수 있습니다.

https://github.com/mjs1995/data-engineering-zoomcamp

 

GitHub - mjs1995/data-engineering-zoomcamp

Contribute to mjs1995/data-engineering-zoomcamp development by creating an account on GitHub.

github.com


아키텍처

프로젝트에 관한 세세한 아키텍처는 다음과 같습니다.


Technologies

사용하게 될 기술은 다음과 같습니다.

  • Google Cloud Platform (GCP): 구글의 클라우드 기반 자동 확장 플랫폼
    • Google Cloud Storage (GCS): 데이터 레이크
    • BigQuery: 데이터 웨어하우스
  • Terraform: Infrastructure-as-Code (IaC)
  • Docker: 컨테이너화
  • SQL: 데이터 분석 및 탐색
  • Prefect: 워크플로 오케스트레이션
  • dbt: 데이터 변환
  • Spark: 분산 처리
  • Kafka: 스트리밍

Tools

사용하게될 도구는 다음과 같습니다.

  • Docker and Docker-Compose
  • Python 3 (e.g. via Anaconda)
  • Google Cloud SDK
  • Terraform

프로젝트 목차

01: 소개 및 사전 준비 사항

  • GCP 소개
  • Docker와 docker-compose
  • Docker를 사용하여 로컬에서 Postgres 실행
  • Terraform으로 GCP에서 인프라 구성 설정
  • 환경 설정

02: 워크플로 오케스트레이션

  • 워크플로 오케스트레이션
  • Prefect 소개
  • GCP와 Prefect를 사용한 ETL
  • 워크플로 매개변수화
  • Prefect Cloud

03: 데이터 웨어하우스

  • BigQuery
  • 파티셔닝과 클러스터링
  • BigQuery Best Practice
  • BigQuery 내부 구조
  • BigQuery 머신러닝

04: 분석 엔지니어링

  • dbt (데이터 빌드 도구)
  • BigQuery와 dbt
  • Postgres와 dbt
  • dbt 모델
  • 테스트 및 문서화
  • 클라우드 및 로컬로 배포
  • Google Data Studio를 사용한 데이터 시각화

05: 배치 처리

  • 배치 처리
  • Spark 데이터프레임
  • Spark SQL
  • 내부 구조: GroupBy 및 조인

06: 스트리밍

  • Kafka 소개
  • Kafka Streams
  • Kafka Connect 및 KSQL

Reference

데이터 엔지니어링 줌 캠프 깃허브 주소 
youtube
DataTalks.Club
data engineering zoomcamp slack

 

profile

융무의 기술블로그

@융무

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!