Python Shell Job 本質上就是一個託管的 Python 執行環境,你可以用它來做:
AWS 幫你管理好執行環境,工程師只需要專注在寫程式碼做資料的處理和轉換。
Python Shell Job 以 DPU(Data Processing Unit) 計費:
以最小規格跑 10 分鐘為例:
0.0625 DPU × (10/60) hour × $0.44 = $0.00046
幾乎可以忽略不計。
共有 331985 檔案,因為有太多的小檔案,在轉換的過程中,需要頻繁地去跟 S3 拉資料,所以明明資料量不大,等待時間卻很長,1XX M的資料超過 40 分鐘都還有轉完。
最後經過幾次嘗試,把同一個 ad_id 的所有 JSON 檔整合成一個 Parquet 檔,並且使用平行處理,加快處理速度,在 30 分鐘左右完成轉換。一開始有嘗試過一天一個 Parquet ,但一天檔案有 40282 個,轉換時間過久,且中途失敗的話,要重新開始,所以選擇以 ad_id 為分割的單位。大家可以視情況決定要以哪個 key 當作分割的單位。