Tworzenie sesji SparkSession
W tym ćwiczeniu uruchomisz lokalny klaster Spark, który wykorzysta wszystkie dostępne rdzenie. Dostęp do klastra będzie możliwy za pośrednictwem obiektu SparkSession.
Klasa SparkSession posiada atrybut builder, który jest instancją klasy Builder. Klasa Builder udostępnia trzy ważne metody, które pozwalają:
- określić lokalizację węzła master;
- nadać aplikacji nazwę (opcjonalnie);
- pobrać istniejącą sesję
SparkSessionlub – jeśli jej nie ma – utworzyć nową.
Klasa SparkSession ma atrybut version, który zwraca wersję Sparka. Uwaga: Do wersji można też uzyskać dostęp przez atrybut __version__ modułu pyspark.
Więcej informacji o SparkSession znajdziesz tutaj.
Po zakończeniu pracy z klastrem warto go wyłączyć – dzięki temu zwolnione zasoby będą dostępne dla innych procesów.
Uwagi:
- Warto zajrzeć do slajdów z lekcji dostępnych w panelu Slajdy obok powłoki IPython.
- Wersja Sparka użyta w ćwiczeniu różni się od tej z lekcji – platforma ćwiczeniowa została zaktualizowana do nowszej wersji Sparka.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Zaimportuj klasę
SparkSessionz modułupyspark.sql. - Utwórz obiekt
SparkSessionpołączony z lokalnym klastrem. Użyj wszystkich dostępnych rdzeni i nadaj aplikacji nazwę'test'. - Skorzystaj z atrybutu
versionobiektuSparkSession, aby pobrać wersję Sparka działającą na klastrze. Uwaga: Wersja może różnić się od tej pokazanej w prezentacji – jest ona od czasu do czasu aktualizowana. - Wyłącz klaster.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the SparkSession class
from ____ import ____
# Create SparkSession object
spark = SparkSession.builder \
.master(____) \
.____(____) \
.____()
# What version of Spark?
print(spark.____)
# Terminate the cluster
spark.____()