gogoge/notes

11.8 Analytics / Data Pipeline

Opened this issue · 0 comments

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
  • Stage activity
    • activity: 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能用
  • launch一個transien(可關機)的EMR,拆資料出來,轉換處理資料,儲存到S3
  • Redshift去S3把資料copy回去