Wie der Name schon sagt, handelt es sich bei Big Data um ein Konzept, das sich mit riesigen Datenmengen befasst, die so gespeichert und verarbeitet werden, dass sie aussagekräftige Erkenntnisse liefern können. Big Data Analytics ist eine Möglichkeit, die Berechnung und Speicherung so zu strukturieren, dass eine so große Datenmenge verarbeitet werden kann. Dies kann durch den Einsatz eines oder mehrerer Tools erreicht werden, erfordert jedoch einiges an Fachwissen, um diese Tools für Analysezwecke effektiv zu nutzen.  Es gibt viele Bibliotheken und Pakete für Big Data mit Python, aber eine Bibliothek, die besonders bei Datenwissenschaftlern beliebt ist, die eine Möglichkeit zur Verarbeitung enormer Datenmengen innerhalb ihrer Anwendung benötigen, ist Pyspark.

Vorraussetzungen:

Pyspark:

PySpark ist eine Schnittstelle für Apache Spark in Python. Spark ist ein Cluster-Computing-Framework, das auf Geschwindigkeit, Benutzerfreundlichkeit und anspruchsvolle Analysen von Big Data mit Python ausgelegt ist. In letzter Zeit hat sich Spark zu einem wichtigen Akteur auf dem Gebiet der Big Data entwickelt. Große und kleine Unternehmen nutzen es, um ihre Daten zu analysieren. Sie haben sich für Spark entschieden, weil Spark im Gegensatz zu seinen Konkurrenten einfach funktioniert. Es ist schnell, einfach zu bedienen und bietet eine breite Palette von Funktionen.

Um Pyspark zu installieren, verwenden Sie den folgenden Befehl in Ihrem Terminal oder in der Eingabeaufforderung

Pip install pyspark

Notebook:

Um Ihren Pyspark auszuführen, müssen wir eine klare Vorstellung davon haben, welcher Code geschrieben werden soll und in welcher Umgebung er ausgeführt werden soll. Hier verwende ich das Google Colab-Notebook – das an sich kostenlos ist und die kollaborative Entwicklung fördert; es erfordert auch keine Downloads oder Installationen, da es in Ihrem Webbrowser läuft! Aber wenn Sie bereits ein Jupyter-Notebook haben und es anstelle von Google Colab verwenden möchten, ist das auch in Ordnung, da die erforderlichen Schritte zur Ausführung von Pyspark für beide gleich sind!

Schritt 1: Erstellen einer Spark-Sitzung

Die Spark-Session-Instanz ist die Art und Weise, wie Spark benutzerdefinierte Manipulationen im Cluster ausführt. In Scala und Python ist die Spark-Session-Variable als Variable spark verfügbar, wenn Sie die Konsole starten

Abhängigkeiten importieren

from pyspark.sql import SparkSession

eine Spark-Sitzung erstellen

# here you can give any appname
spark = SparkSession.builder.appName('Pyspark').getOrCreate()

Spark-Sitzung drucken

spark

Output

Datensatz laden

df = spark.read.csv('/content/movies.csv')

Lassen Sie uns nun verschiedene Aufgaben mit Pyspark durchführen

Schritt -2: Zeilen anzeigen

Hier verwenden wir die Methode show, um die obersten 3 Zeilen in Form des Datensatzes anzuzeigen. Wenn Sie die Zahl ändern, können Sie eine andere Anzahl von Zeilen sehen. Außerdem müssen wir einen Header-Parameter in der df hinzufügen.

# load dataset
df = spark.read.csv('/content/movies.csv', header=True)

df.show(3)

Output:

Schritt -3: Spaltennamen anzeigen

Hier haben wir das Attribut columns verwendet, um die Spalten des Datensatzes anzuzeigen

# load dataset
df = spark.read.csv('/content/movies.csv', header=True)

df.columns

Ausgabe:

Schritt -4: Anzeige des Datentyps der einzelnen Spalten

Hier verwenden wir die printSchema-Methode, um die Datentypen der Spalten anzuzeigen, und fügen außerdem den Parameter inferschema in der df hinzu.

# load dataset
df = spark.read.csv('/content/movies.csv', header=True, inferSchema=True)
df.printSchema()

Ausgabe:

Schritt -5: Zählen der Anzahl der Zeilen und Spalten des Datensatzes

Um die Anzahl der Zeilen anzuzeigen, verwenden wir die Methode count

df.count()

Um mehrere Spalten anzuzeigen, können wir die Längenmethode für die Spaltenliste verwenden

len(df.columns)

Ausgabe:

Die Anzahl der Zeilen beträgt 77

Die Anzahl der Spalten beträgt 8

Schritt -6: Gesamtstatistiken über den Datensatz abrufen

Zur Anzeige der Gesamtstatistik verwenden wir die Methode describe und 

df.describe() .show()

Ausgabe:

Schritt -7: Finden Sie den eindeutigen Wert in einer bestimmten Spalte

Dazu verwenden wir die toPandas-Methode, um den Datenrahmen in den Panda-Datenrahmen zu konvertieren, und fügen dann Spaltennamen hinzu, indem wir eine eindeutige Methode verwenden

df.toPandas() ['Genre'].unique()

Ausgabe:

Schritt -8: Ermitteln Sie die Gesamtzahl der eindeutigen Werte, die in der Spalte Geschlecht verfügbar sind.

Wir verwenden einfach die len-Methode, um die Gesamtzahl zu ermitteln

len(df.toPandas() ['Genre'].unique())

Ausgabe:

Schritt -9: Einzelne und mehrere Spalten auswählen

Wir verwenden die Select-Methode nur, um eine einzelne Spalte anzuzeigen

df.select('Film').show(5)

Ausgabe:

Mehrere Spalten anzeigen 

df.select('Film', 'Year').show(5)

Ausgabe:

Schritt -10: Erstellen und Aktualisieren einer neuen Spalte in einem bestehenden Datenrahmen (DataFrame)

Um eine neue Spalte im Datenrahmen zu erstellen, verwenden wir die withCoumn-Methode, und für die Punktzahl nehmen wir eine andere Spalte, addieren den Wert +1 und geben ihn unserer neuen Spalte

df.withColumn('score',df.Year+1).show()

Ausgabe:

Wie Sie in der Ausgabe sehen können, hat die neue Spalte, die wir erstellt haben, Jahr+1 im Wert. Danach wird unsere neue Spalte jedoch nicht mehr im Datenrahmen angezeigt. Dazu müssen wir die neue Spalte aktualisieren.

df = df.withColumn('score',df.Year+1)
df.show()

Ausgabe:

Schritt -11: Umbenennen der Spalte

Um den Namen der Spalte umzubenennen, verwenden wir die Methode withColumnRenamed

df = df.withColumnRenamed('Film', 'Movies')
df.show(5)

Ausgabe:

Wie Sie sehen können, ändern wir den Spaltennamen film in Movies

Schritt -12: Anzeige bestimmter Werte

Wir werden die Namen der Filme anzeigen, die eine Einschaltquote von mehr als 83 haben.We are going to display the name of the movies that have an audience score of greater than 83.

Dazu verwenden wir die Filtermethode und wählen auch bestimmte Spalten mit der Select-Methode aus

df.filter(df['Audience score %']>83).select('Movies').show()

Ausgabe:

Schritt -13: Mehrere Bedingungen zur gleichen Zeit

Hier müssen wir die Namen der Filme in der Animationskategorie anzeigen, die eine Einschaltquote von mehr als 83 haben. Dazu müssen wir mehrere Bedingungen mit der Filtermethode übergeben und sie mit dem Operator & trennen.

df.filter((df['Audience score %']>83) & (df['Genre']=='Animation')).select('Movies').show()

Ausgabe:

Wie Sie in der Ausgabe sehen können, haben nur zwei Filme in der Kategorie „Animation“ eine Zuschauerzahl von mehr als 83.

Dieses Beispiel ist genau das Gegenteil des vorherigen Beispiels. Wir zeigen die Namen der Filme an, die eine Einschaltquote von weniger als 83 haben. Dazu müssen wir nur den ~-Operator verwenden, und es wird angezeigt, was diese Bedingung nicht erfüllt.

df.filter((df['Audience score %']>83) & ~(df['Genre']=='Animation')).select('Movies').show(5)

Ausgabe:

Diese Filme haben eine Einschaltquote von weniger als 83.

Schritt -14: Durchschnittswerte anzeigen

Um die Durchschnittswerte anzuzeigen, bilden wir zunächst eine Gruppe von Genre-Spalten mit der groupby-Methode und verwenden dann die mean-Methode, um die Durchschnittswerte zu ermitteln

df.groupby('Genre').mean().show()

Ausgabe:

Schritt -15: Sortieren Sie die Zeilen in aufsteigender und absteigender Reihenfolge

Um sie in aufsteigender Reihenfolge zu sortieren, verwenden wir die Methode orderby

df.orderBy(df['Audience score %']).show(10)

Ausgabe:

Um sie in absteigender Reihenfolge zu sortieren, verwenden wir die orderby-Methode und mit dieser desc-Methode

df.orderBy(df['Audience score %'].desc()).show(5)

Ausgabe:

Letzte Worte

Wir hoffen, dass Ihnen dieser Blog über die Nutzung von Big Data mit Python und PySpark gefallen hat. Dieser Blog ist nur ein Überblick über die Pyspark-Bibliothek. Wenn Sie mehr über Datenanalyse erfahren oder andere wichtige Themen erforschen möchten, besuchen Sie doch einfach unseren Blog. Wir sind sicher, dass Sie genau das finden, wonach Sie suchen!