在上一篇文章中,我們成功在 Google Colab 上啟動了 PySpark 運算環境。有了強大的引擎後,我們接著需要了解 Spark 是如何「裝載」資料的。在資管領域的課程中,我們經常強調資料結構的重要性,而在 Spark 的世界裡,有兩個你絕對不能不認識的名詞:RDD 與 DataFrame。
1. 時代的基石與眼淚:什麼是 RDD?
RDD (Resilient Distributed Dataset,彈性分散式資料集) 是 Spark 最早期、最底層的資料結構。你可以把它想像成一個被打散並分布在多台電腦上的「超級大陣列」。它非常靈活,可以塞入任何 Python 物件,但缺點是它「沒有結構 (Schema-less)」。
因為沒有定義欄位名稱與資料型態,Spark 的底層引擎(Catalyst Optimizer)無法提前知道你要對資料做什麼,也就無法幫你優化查詢路徑。這導致在處理海量資料時,直接撰寫 RDD 的程式碼既繁瑣又容易遇到效能瓶頸。
