Tìm các chuỗi từ phổ biến
Trước đó, bạn đã thấy cách tạo một truy vấn để tìm các chuỗi từ độ dài ba ("3-tuple"). Chúng ta đã dùng truy vấn đó làm truy vấn con trong một truy vấn SQL truyền thống để tìm các 3-tuple phổ biến nhất trong tài liệu văn bản. Bây giờ bạn sẽ thực hiện nhiệm vụ tương tự để tìm các 5-tuple phổ biến nhất.
DataFrame text_df đã được cung cấp. Nó chứa năm chương đầu tiên của văn bản Sherlock Holmes. Nó có các cột: word, id, part, title. Cột id là số nguyên sao cho từ xuất hiện muộn hơn trong tài liệu sẽ có id lớn hơn từ xuất hiện trước đó. Cột part tách dữ liệu theo từng chương. DataFrame text_df cũng đã được đăng ký dưới dạng bảng tạm tên là text. Mục tiêu của chúng ta là tạo một tập dữ liệu trong đó mỗi hàng tương ứng với một 5-tuple, có một count cho biết tuple đó xuất hiện bao nhiêu lần trong tập dữ liệu.
Bài tập này là một phần của khóa học
Nhập môn Spark SQL bằng Python
Hướng dẫn bài tập
- Tạo một truy vấn
queryđể tìm 10 5-tuple phổ biến nhất trong tập dữ liệu.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()