LoslegenKostenlos loslegen

Häufige Wortfolgen finden

Zuvor haben wir gesehen, wie man eine Abfrage erstellt, die Wortfolgen der Länge drei („3-Tupel“) findet. Diese Abfrage haben wir als Unterabfrage in einer klassischen SQL-Abfrage verwendet, um die häufigsten 3-Tupel im Textdokument zu ermitteln. Jetzt führst du eine ähnliche Aufgabe aus, um die häufigsten 5-Tupel zu finden.

Das DataFrame text_df steht zur Verfügung. Es enthält die ersten fünf Kapitel des Sherlock-Holmes-Textes. Es hat die Spalten: word, id, part, title. Die Spalte id ist eine ganze Zahl; ein Wort, das später im Dokument vorkommt, hat eine größere id als ein Wort, das vorher vorkommt. Die Spalte part trennt die Daten in Kapitel. Das DataFrame text_df ist außerdem als temporäre Tabelle mit dem Namen text registriert. Unser Ziel ist es, einen Datensatz zu erstellen, in dem jede Zeile einem 5-Tupel entspricht und eine count enthält, die angibt, wie oft das Tupel im Datensatz vorkam.

Diese Übung ist Teil des Kurses

Einführung in Spark SQL mit Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Abfrage query, die die 10 häufigsten 5-Tupel im Datensatz findet.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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
LIMIT ____
"""
df = spark.sql(query)
df.show()
Code bearbeiten und ausführen