建立基礎 RDD 並進行轉換
非結構化資料(記錄檔、影像、二進位檔)正快速成長,而 PySpark 透過 RDD 非常適合分析這類資料。在這個分成 3 個部分的練習中,你會撰寫程式碼,從《威廉.莎士比亞全集》(http://www.gutenberg.org/ebooks/100)計算最常見的單字。
以下是撰寫文字計數程式的重點步驟:
- 從
Complete_Shakespeare.txt檔案建立一個基礎 RDD。 - 使用 RDD 轉換,將基礎 RDD 的每個元素轉成長串的單字清單。
- 從資料中移除 stop words(常見虛字)。
- 建立 pair RDD,使每個元素為
('w', 1)的成對 tuple。 - 依鍵(單字)對 pair RDD 的元素分組,並加總其值。
- 交換鍵(單字)與值(計數),讓鍵為計數、值為單字。
- 最後,依遞減順序排序 RDD,並列印出最常見的 10 個單字及其出現次數。
在第一個練習中,你將從 Complete_Shakespeare.txt 檔案建立基礎 RDD,並將其轉換為長串的單字清單。
請注意,你的工作區中已提供 SparkContext sc。也已為你載入 file_path 變數(指向 Complete_Shakespeare.txt 檔案的路徑)。
本練習屬於課程
使用 PySpark 的 Big Data 基礎
練習說明
- 建立一個名為
baseRDD的 RDD,從file_path讀取每一行。 - 將
baseRDD轉換為長串的單字清單,建立新的splitRDD。 - 計算
splitRDD中的總字數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a baseRDD from the file path
baseRDD = sc.____(file_path)
# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())
# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())