Menemukan urutan kata yang umum
Sebelumnya kita telah melihat cara membuat kueri yang menemukan urutan kata sepanjang tiga ("3-tuple"). Kita menggunakan kueri tersebut sebagai subkueri dalam kueri SQL tradisional untuk menemukan 3-tuple yang paling umum dalam dokumen teks. Sekarang Anda akan melakukan tugas serupa untuk menemukan 5-tuple yang paling umum.
DataFrame text_df tersedia. DataFrame ini memuat lima bab pertama dari teks Sherlock Holmes. DataFrame ini memiliki kolom: word, id, part, title. Kolom id bertipe integer, di mana kata yang muncul lebih akhir dalam dokumen memiliki id yang lebih besar daripada kata yang muncul sebelumnya. Kolom part memisahkan data per bab. DataFrame text_df juga didaftarkan sebagai tabel sementara bernama text. Tujuan kita adalah membuat himpunan data di mana setiap baris merepresentasikan sebuah 5-tuple, dengan count yang menunjukkan berapa kali tuple tersebut muncul dalam himpunan data.
Latihan ini adalah bagian dari kursus
Pengantar Spark SQL dalam Python
Petunjuk latihan
- Buat sebuah kueri
queryyang menemukan 10 5-tuple paling umum dalam himpunan data.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()