BaşlayınÜcretsiz Başlayın

Yaygın kelime dizilerini bulma

Daha önce uzunluğu üç olan kelime dizilerini ("3-tuple") bulan bir sorgunun nasıl oluşturulacağını görmüştük. Metin belgesindeki en yaygın 3-tuple'ları bulmak için bu sorguyu klasik bir SQL sorgusunda alt sorgu olarak kullandık. Şimdi benzer bir görevi en yaygın 5-tuple'ları bulmak için yapacaksın.

text_df DataFrame'i hazır. Sherlock Holmes metninin ilk beş bölümünü içeriyor. Şu sütunlara sahip: word, id, part, title. id sütunu bir tamsayıdır; belgede daha sonra gelen bir kelimenin id'si, daha önce gelen bir kelimeninkinden daha büyüktür. part sütunu veriyi bölümlere ayırır. text_df DataFrame'i ayrıca text adlı geçici tablo olarak da kaydedildi. Amacımız, her satırın bir 5-tuple'a karşılık geldiği ve bu tuple'ın veri kümesinde kaç kez geçtiğini belirten bir count değeri olan bir veri kümesi oluşturmaktır.

Bu egzersiz

Python ile Spark SQL'e Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Veri kümesindeki en yaygın 10 adet 5-tuple'ı bulan query adlı bir sorgu oluştur.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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()
Kodu Düzenle ve Çalıştır