11.8 Analytics / Data Pipeline
Opened this issue · 0 comments
gogoge commented
11.8 Analytics / Data Pipeline
- Data Pipeline
- 用來把整個資料分析的各個service串起來
- data source
- 運算service
- 儲存service
- 起點是DataPipeline自己
- schedule可以排一個固定間距,時間到就執行一次pipeline
- 每幾分鐘
- 每天
- 每週等等
- pipeline中的元件
- data node: 存資料的地方,可以是
- S3
- RDB
- RedShift
- EMR
- on-premise server
- compute unit
- storage
- data node: 存資料的地方,可以是
Stageactivityactivity
: pipeline中,分解動作中的單一動作- moving data from one location to another
- running Hive queries
- activity有時候會需要額外resource才能執行
- EMR cluster
- EC2 instance
- 這種時候,DataPipeline會自動launch,等完成後再關閉
- preconditions
- 只有當precondition為true時,active才會執行
- 如
- 有S3 key
- DB內已經有data
- activity失敗,會自動retry
- retry的limit是自己config的
- retry達limit會有event,可以自訂後續action
use case
可以用來批次處理ETL流程 (拆資料、整理資料、載入儲存)
下面三個activity是處於同一個pipeline (圖文不完全相符)
- 每個鐘頭,開始一次activity,從on-primise的log中爬資料,儲存到S3
- precondition
- 有log能用
- precondition
- launch一個transien(可關機)的EMR,拆資料出來,轉換處理資料,儲存到S3
- Redshift去S3把資料copy回去