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!