經過前面幾篇的學習,我們已經熟悉了 PySpark DataFrame 專屬的 API 語法(例如 select(), filter(), withColumn(), groupBy())。這些語法非常強大且支援物件導向的串接,但對於許多熟悉關聯式資料庫(如 MySQL、SQL Server)的開發者來說,難免會覺得:「如果能直接寫 SQL 該有多好?」
好消息是,Apache Spark 內建了極度強大的 Spark SQL 引擎。只要透過一個簡單的指令,我們就能在 PySpark 環境中無縫切換,直接用標準的 SQL 語法來查詢百萬級別的大數據!
1. 核心橋樑:認識 TempView (暫存視圖)
PySpark DataFrame 存在於記憶體中,原生的 SQL 引擎無法直接看見它。為了讓 SQL 引擎能對其下達指令,我們必須先將 DataFrame 註冊為一張「虛擬的資料表」,在 Spark 中稱為 TempView。


