들어가며우선 Silver 레이어 구축은 다른 레이어보다 고려해야할 부분들이 많고,중요한 기능들이 있기에, 여러 포스팅으로 나눠 적어볼 예정이다. (현재 작성 시점으론 3개 포스팅 계획중) Bronze에서 raw 데이터를 S3에 영구 저장했다.하지만 그 데이터는 분석에 바로 쓸 수 없는 상태이다. Bronze에 저장된 것:value = '{"campaign_id":10046,...}' (dummy)value = '{"campaign":9100690,"cost":0.00003,"cat1":...}' (criteo) → JSON 문자열 덩어리, 두 원천의 모양이 다름 Silver의 일은 이 raw를 분석 가능한 깨끗한 테이블로 바꾸는 것이다.Bronze(받아서 쌓기)나 Gold(집계)보다 신경 쓸 게 많..
들어가며이전 단계까지 Producer가 Kafka로 이벤트를 보내는 것을 확인했다.하지만 Kafka는 버퍼일 뿐이라, retension이 지나면 메시지가 사라진다. 데이터를 가지고 분석을 하려면 Kafka의 이벤트를 어딘가에 영구 저장해야 한다. 이번 포스팅은 그 첫 영구 저장 계층인 Bronze 레이어를 만든 과정이다.Producer → Kafka → 현재 단계: [Bronze] → Silver → GoldBronze의 원칙은 단 하나 - raw 그대로 저장.변환-정제는 다음 계층(silver)의 몫이다.1. 핵심 결정 ① - 컨슈머를 어디서 돌릴 것인가처음엔 막연히 AWS Glue Streaming으로 적재하면 될거라고 생각했다.다만 근본적인 문제에 부딪혔다.클라우드의 Glue는 내 맥북의 `loca..
내가 헷갈린 지점프로젝트에서 Kafka 메시지를 S3에 적재하는 단계를 설계하면서 이런 생각이 들었다."Kafka → S3 적재에 Spark Structured Streaming을 쓰려고 했는데 왜 AI는 Glue Streaming Job을 쓰라고하지?" Glue라는 이름만 보고 Spark와 관계없는 별도 기술처럼 보였고, 둘이 다른 기술이라고 착각했다.결론부터 말하면 Glue Structured Streaming Job은 Spark Structured Streaming 위에서 동작한다.대립 관계가 아니라 포함 관계다.Spark Structured Streaming이란Apache Spark의 스트리밍 처리 API다.Kafka 같은 메시지 큐에서 데이터를 읽어 실시간으로 처리하고 저장하는 코드를 작성하는 ..
Airflow 3.0 강의의 마지막 차시에서는 실무에서 가장 많이 쓰이는 AWS 기반의 ETL 파이프라인 구축과 운영의 핵심인 Backfill 전략, 그리고 이를 집대성한 Capstone 프로젝트를 다룬다.1. ETL 개념 정리 및 분리 전략1-1 . ETL 단계별 정의데이터 파이프라인의 핵심 구성 요소인 ETL은 다음과 같이 정의한다.Extract (추출): 원천 데이터를 소스 시스템에서 추출하는 단계다.Transform (변환): 추출된 데이터를 정제, 가공하여 분석 가능한 형태로 변환한다.Load (적재): 변환된 데이터를 DW(Data Warehouse)나 Data Lake에 적재한다.통합 과정: 위 세 단계가 유기적으로 연결되어 데이터 프로덕트의 기반을 형성한다.1-2. ETL 단계 분리의 중요..
Airflow를 활용한 데이터 파이프라인이 복잡해짐에 따라 이를 논리적으로 구조화하고, 데이터 규모에 맞게 동적으로 태스크를 확장하는 기술은 실무에서 매우 중요하다. 이번 포스팅에서는 TaskGroup을 통한 구조화 전략과 Dynamic Task Mapping의 개념을 정리한다.1. DAG 구조화의 필요성과 TaskGroup 전략1-1. 왜 DAG를 구조화해야 하는가?DAG의 규모가 커질수록 관리상의 여러 문제점이 발생한다.가독성 문제: 복잡도가 증가함에 따라 전체 워크플로우를 한눈에 파악하기 어려워진다.유지보수 어려움: 오류 발생 시 원인 파악과 수정이 힘들어지며, 운영 비용이 상승한다.구조적 해결책: TaskGroup을 활용하면 논리적 단위로 Task를 그룹화하여 이러한 문제들을 해결할 수 있다.1-..
이번에는 Airflow의 데이터 전달 메커니즘과 환경 설정, AWS 연계 방법에 대해 학습한다. 0. 목차1. XCom: Task 간 데이터 전달2. Anti-pattern: XCom 사용 시 주의점3. 실습: XCom, Variable 활용4. AWS 연결: S3/Redshift 연동 1. Xcom: Task간 데이터 전달● Xcom(eXchage Communication)이름 그대로 태스크 간에 데이터를 교환하는 메커니즘1-1. XCom 사용 기준 & Anti-pattern기본 개념XCom(eXchange Communication)은 Airflow에서 Task 간 데이터를 전달하는 기본 메커니즘이다.주로 작은 크기의 데이터(문자열, 숫자, JSON 등)를 전달하는 데 최적화되어 있으며, Airflo..
0. 강의 목차1. Airflow 3.0 Architecture 핵심: 역할 분리 철학, 전체 학습 로드맵2. DAG Parsing, Execution: "언제 읽히고, 언제 실행 되는가?"3. 왜 Docker로 Airflow를 실행하는가?: 실무 관점에서 Docker를 써야 하는 이유4. Docker & Docker Compose 설치: 개발 환경 구성5. Airflow 3.0 Docker Compose 실행: Airflow Docker 컨테이너들 띄우기6. Web UI 접속 & Scheduler 로그 확인: Web UI 구조, Scheduler 로그로 실행 흐름추적 Airflow 3.0 Architecture 핵심1-1. Control Plane & Execution Plane (역할 분리)Airfl..
이번 주제에서는 단순히 Airflow를 사용하는것이 목적이 아니라,왜 Airflow가 실무에서 표준이 되었는지, 실무에서 어떤 문제를 해결하기 위해 등장했는지 등등기술의 도입 이유와 작동 원리에 대해 공부해보는것이 목적이다.1. 학습 목표 설정이번 주제에서의 목표Airflow 3.0을 활용한 데이터 파이프라인 구축 및 운영 능력 습득AWS 클라우드 환경에서의 실전 구현 경험ㄴ 실습구조는 AWS EC2 인스턴스 기반이고 Docker를 활용한 Airflw 3.0 설치 및 운영으로 이뤄진다.이번 주제의 학습 목차1. Airflow 3.0 과정 목표 및 로드맵2. 자동화의 필요성3. 기존 방식의 한계4. Airflow 소개5. 핵심 개념6. AWS 환경 구성2. 데이터 작업 자동화의 필요성 및 한계2-1. 데이..
- Total
- Today
- Yesterday
- AWS
- iceberg
- spark
- AWS Glue Catalog
- lakehouse
- Data Engineerring
- Glue
- Data Pipeline
- Glue ETL
- elasticip
- catchup
- Data Dngineering
- Databricks
- RDD
- Backfill
- DataSet
- DAG
- lake house
- kafka
- Data engineering
- Spark structured streaming
- de
- Consumer DAG
- docker
- 데이터파이프라인
- airflow
- Daynamic Task
- Unity Catalog
- Prodcuder DAG
- s3
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
