Erste SchritteKostenlos loslegen

Basis-RDD erstellen und transformieren

Die Menge an unstrukturierten Daten (Logzeilen, Bilder, Binärdateien) wächst enorm – und PySpark ist ein hervorragendes Framework, um diese Art von Daten mithilfe von RDDs zu analysieren. In dieser 3-teiligen Übung schreibst du Code, der die häufigsten Wörter im Gesamtwerk von William Shakespeare herausfindet.

Hier ist eine kurze Auflistung der nötigen Schritte für dieses Wortzählprogramm:

  • Erstelle einen Basis-RDD aus der Datei Complete_Shakespeare.txt.
  • Verwende eine RDD-Transformation, um eine lange Liste von Wörtern aus jedem Element im Basis-RDD zu erstellen.
  • Entferne Stoppwörter aus den Daten.
  • Erstelle einen Paar-RDD, bei dem jedes Element ein Tupel aus ('w', 1) ist.
  • Gruppiere die Elemente im Paar-RDD nach Schlüssel (Wort) und addiere ihre Werte.
  • Vertausche die Schlüssel (Wort) und Werte (Zähler), sodass die Schlüssel zu Zählern und die Wörter zu Werten werden.
  • Sortiere schließlich den RDD in absteigender Reihenfolge und gib die zehn häufigsten Wörter und ihre Häufigkeit aus.

In dieser ersten Übung erstellst du einen Basis-RDD aus der Datei Complete_Shakespeare.txt und wandelst ihn in eine lange Liste von Wörtern um.

Zur Erinnerung: Der SparkContext sc ist bereits im Arbeitsbereich verfügbar. Eine Variable namens file_path (mit dem Pfad zur Datei Complete_Shakespeare.txt) ist ebenfalls schon geladen.

Diese Übung ist Teil des Kurses

Grundlagen von Big Data mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Erstelle einen RDD namens baseRDD, der Zeilen aus file_path liest.
  • Transformiere baseRDD in eine lange Liste von Wörtern und erstelle ein neues splitRDD-Objekt.
  • Zähle die Gesamtzahl der Wörter in splitRDD.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Create a baseRDD from the file path
baseRDD = sc.____(file_path)

# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())

# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())
Bearbeiten und Ausführen von Code