DPU란?
DPU의 Pricing
- Data Processint Unit 의 약자임 (젠슨 황-엔비디아 대표 언급)
- 1 DPU = 4 vCPU & 16 GB of memory ( $0.44 per Hour )
- Data Catalog
- $1.00 per 100,000 objects per Month
- Requests
- 1M(1,000,000) 은 무료
- $1.00 per 1M requests above 1M in a month
WorkFlow
csv -> Transform -> Parquet
- Bucket 생성( S3 )
- IAM 권한 부여(적절하게..)
- Glue 내에 DB 생성
- Crawler 생성 후 실행
- ETL Job 생성 후 실행(Extract, Transtorm and loads)
Checklist
Job Bookmark 확인
DB Procedure ( DW -> DM )
python( Landing Zone -> DW 로 CUD 작업 )
랜딩존의 이미지 메타데이터(URL) -> 웹URL
ETL 과정을 모니터링(Log)
Process
- 버킷에 iris.csv 테스트 데이터 생성 (s3://kimjm/test-csv-/iris.csv)
- database 생성( kimjm_test_postresql)
- crawler 생성( Data Sources 지정 -> 버킷 경로 )
Test WF(Work Flow)
trigger - node - trigger(any/all) -> node
1. trigger ( 스케쥴, on-demand )
2. forward
2-1. treigger( depends on 2 )
Data Lake Overall Flow
- ERP서버(REST API)에서 S3로 일단위로 추출
- 증분(incremental), 증분테이블(CDC) or 타임스탬프 컬럼 기반
- original.parquet = original.parquet + added.parquet(add는 날짜)
- 모든 데이터 다 갖고 오기 (비효율적일듯)
- original.parquet = original.parquet
- S3 to Data-Catalog
- crawler 실행( bookmark: enabled)
- Data-Catalog( CDC만 있는)에 있는 증분 데이터를 DW에 반영
- working_df = SparkSession.read(Data-Catalog)
- original_df = SparkSession.read(Database)
두 df를 join해서 없는 것은 filter로 drop하고,