感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程時長 21 時間:
課程簡介
模組1:大資料與Spark基礎
- 大資料生態系概述及Spark在現代資料平台中的角色
- 理解Spark架構:驅動程式、執行器、叢集管理器、惰性評估、DAG和执行計劃
- RDD和DataFrame API的差異及何時使用每種方法
- 建立和設定SparkSession,並理解應用程式設定的基礎
模組2:PySpark DataFrame
- 從企業來源和格式讀取和寫入資料:CSV、JSON、Parquet和Delta
- 使用PySpark DataFrame:轉換、動作、欄位表達式、篩選、聯結和聚合
- 實施進階操作,如窗口函數、處理時間戳記和處理巢狀資料
- 應用資料品質檢查,並撰寫可重用、可維護的PySpark程式碼
模組3:供Spark使用者參考的Kubernetes和Docker基礎
- 理解Docker映像檔和Kubernetes Pod與Spark驅動程式和執行器過程的關係——這是叢集使用者而非管理員的概念視角
- 理解當Spark任務在Kubernetes上運行時發生的事:Pod排程、資源請求和限制,以及會話設定如何映射到它們
- 理解透過Spark會話參數控制的內容,與平台團隊透過叢集配置控制的內容之間的差異——以及為何此邊界對調優很重要
- 動手練習:在沙箱叢集中檢查運行中的Spark-on-Kubernetes任務,並識別驅動程式和執行器Pod
模組4:Kubernetes上的Spark會話設定——深入分析
- 理解執行器數量與執行器大小:記憶體與核心數的取捨,以及如何思考這些問題
- 驅動程式和執行器的記憶體分配、記憶體開銷,以及這些如何轉換為Pod資源
- 動態分配:它在Kubernetes上的行為、何時節省資源以及何時不節省
- 動手練習:在不同的執行器和核心設定下運行相同的任務,並比較運行時間和資源使用情況
模組5:擴充行為與成本優化
- 理解增加或移除節點如何改變任務行為、完成時間和資源消耗
- 比較許多小執行器與較少大執行器:效能和成本的取捨
- Shuffle行為和Shuffle分割調優,包括估算設定選擇的成本影響
- 動手練習:將沙箱叢集從五個節點擴展到十個節點,並觀察對任務完成時間和資源消耗的影響
模組6:高效資料攝取與分割
- 理解小檔案問題:為何來源分散在許多1–5 MB的Parquet檔案中會降低效能並扭曲分割
- 重新分割(Repartitioning)和合併(Coalescing)策略
- 控制讀取和寫入時的分割大小
- 高效寫入Parquet,以避免在下游重新創建有問題的小檔案
- 動手練習:載入由許多小Parquet分割組成的資料集,應用不同的重新分割策略,並比較優化前後的效能
模組7:Pandas記憶體管理與故障診斷
- 理解Pandas中記憶體不足錯誤的根本原因並識別症狀
- 應用在Spark和Pandas之間記憶體高效的轉換模式
- 避免在將大型資料集寫入CSV時出現記憶體膨脹
- 在受限環境中使用分塊處理和dtype優化
- 動手練習:重現典型的Pandas記憶體不足情境,並使用分塊和dtype優化解決
模組8:Polars作為補充工具
- 確定Polars相對於Pandas的定位:效能特性、惰性評估和記憶體行為
- 理解Polars如何在現代雲端資料棣和遷移路線圖中與PySpark和Pandas並存,包括AWS環境
- 動手練習:使用Polars重寫以Pandas為主的轉換,並比較記憶體使用和處理速度
模組9:將優化應用於ETL和ML工作負載
- 在現實的ETL管線中應用設定、分割和記憶體管理原則
- 理解在相同叢集上運行的機器學習工作負載特有的優化考量
- 應用實務調優工作流,以系統性地診斷成本和效能問題
- 動手練習:完成一個端到端的微型專案,結合資料載入、轉換和簡單的模型訓練步驟,由學員自行調優Spark設定
最低要求
學員應具備:
- 具備Python程式設計實務經驗,包括函數、模組和基本的物件導向概念。
- 具備使用Pandas和表格化資料處理工作流的基礎至中等經驗。
- 熟悉PySpark和Spark DataFrame的基本操作,包括讀取資料、轉換、動作、聯結和聚合。
- 對SQL和資料處理概念有一般性理解,包括篩選、分組和資料集聯結。
- 熟悉Docker和Kubernetes概念,例如容器、映像檔和Pod。不需要Kubernetes管理經驗。
- 對CSV、JSON和Parquet等常見資料格式有基本了解。
學員不需要是Kubernetes管理員或基礎架構專家。課程聚焦於資料工程師、開發人員和資料科學家如何從應用程式和設定角度理解並優化運行在Kubernetes上的Spark工作負載。
目標受眾
這門課程是為在雲端或容器化環境中使用Python和Spark開發、維護或優化資料處理和機器學習工作負載的專業人士而設計的。
特別適合以下人員:
- 資料工程師:使用PySpark、分散式資料處理和ETL管線。
- 資料科學家:使用Spark、Pandas或Polars處理大型資料集或運行機器學習工作負載。
- Python開發人員:處理資料密集應用程式,並希望提升記憶體效率和處理效能。
- 機器學習工程師:在共享的Kubernetes或雲端環境上管理資料準備和模型訓練工作負載。
- 分析工程師:處理大型資料集並希望提升資料處理效率。
- DevOps、平台和雲端工程師:支援Kubernetes上的Spark工作負載,並需要了解應用程式層級設定如何影響資源使用和效能。
- 技術主管和解決方案架構師:參與設計或優化現代資料處理平台。
客戶評論 (1)
我喜歡它的實用性。非常喜歡將理論知識應用到實際例子中。
Aurelia-Adriana - Allianz Services Romania
課程 - Python and Spark for Big Data (PySpark)
機器翻譯