LoslegenKostenlos starten

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

<Kurs>Einführung in Spark SQL mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

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

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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()
Code bearbeiten und ausführen