Erstellen einer SparkSession
In dieser Übung baust du einen lokalen Spark-Cluster auf, der alle verfügbaren Kerne nutzt. Der Cluster wird über ein SparkSession Objekt zugänglich sein.
Die Klasse SparkSession hat ein Attribut builder, das eine Instanz der Klasse Builder ist. Die Klasse Builder stellt drei wichtige Methoden zur Verfügung, mit denen du
- gib den Standort des Master-Knotens an;
- die Anwendung benennen (optional); und
- eine bestehende
SparkSessionabrufen oder, falls keine vorhanden ist, eine neue erstellen.
Die Klasse SparkSession hat ein version Attribut, das die Version von Spark angibt. Hinweis: Die Version kann auch über das Attribut __version__ auf dem Modul pyspark abgerufen werden.
Mehr über SparkSession erfährst du hier.
Wenn du mit dem Cluster fertig bist, ist es eine gute Idee, ihn herunterzufahren. Dadurch werden seine Ressourcen frei und stehen für andere Prozesse zur Verfügung.
Anmerkungen:
- Es kann nützlich sein, die Folien aus den Lektionen im Bereich Folien neben der IPython-Shell durchzusehen.
- Die Version von Spark in der Übung ist nicht dieselbe wie in den Lektionen. Die Übungsplattform wurde auf eine neuere Version von Spark aktualisiert.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Importiere die Klasse
SparkSessionauspyspark.sql. - Erstelle ein
SparkSessionObjekt, das mit einem lokalen Cluster verbunden ist. Nutze alle verfügbaren Kerne. Nenne die Anwendung'test'. - Verwende das Attribut
versiondesSparkSessionObjekts, um die Version von Spark auf dem Cluster zu ermitteln. Hinweis: Die Version kann sich von derjenigen unterscheiden, die in der Präsentation verwendet wird (sie wird von Zeit zu Zeit aktualisiert). - Schalte den Cluster ab.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import the SparkSession class
from ____ import ____
# Create SparkSession object
spark = SparkSession.builder \
.master(____) \
.____(____) \
.____()
# What version of Spark?
print(spark.____)
# Terminate the cluster
spark.____()