開始使用免費開始

尋找常見的詞序列

先前我們已示範如何撰寫查詢,找出長度為 3 的詞序列(「3-tuples」)。 我們把這個查詢當成子查詢,放進傳統的 SQL 查詢裡,來找出文字文件中最常見的 3-tuples。 現在你要做相同的事情,但目標是找出最常見的 5-tuples。

已提供 DataFrame text_df。它包含《福爾摩斯》前五章的文本,欄位有:wordidparttitleid 欄位是整數,文件中較後面的詞會有比前面詞更大的 id。part 欄位用來區分章節。DataFrame text_df 也已註冊為名為 text 的暫時資料表。我們的目標是建立一個資料集,其中每一列對應到一個 5-tuple,並有一個 count 指出該 tuple 在資料集中出現的次數。

本練習屬於課程

Python Spark SQL 入門

檢視課程

練習說明

  • 建立一個查詢 query,找出資料集中最常見的 10 個 5-tuples。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Find the top 10 sequences of five words
query = """
SELECT w1, w2, w3, w4, w5, COUNT(*) AS count FROM (
   SELECT word AS w1,
   LEAD(____) OVER(____ ) AS w2,
   ____ AS w3,
   ____ AS w4,
   ____ AS w5
   FROM text
)
GROUP BY w1, w2, w3, w4, w5
ORDER BY count DESC, w1, w2, w3, w4, w5
LIMIT ____
"""
df = spark.sql(query)
df.show()
編輯並執行程式碼