Aan de slagGa gratis aan de slag

Een SparkSession maken

In deze oefening start je een lokale Spark-cluster op met alle beschikbare cores. De cluster is toegankelijk via een SparkSession-object.

De klasse SparkSession heeft een attribuut builder, dat een instantie is van de klasse Builder. De klasse Builder biedt drie belangrijke methoden waarmee je:

  • de locatie van de masternode kunt opgeven;
  • de applicatie een naam kunt geven (optioneel); en
  • een bestaande SparkSession kunt ophalen of, als die er niet is, een nieuwe kunt maken.

De klasse SparkSession heeft een attribuut version dat de versie van Spark weergeeft. Opmerking: De versie is ook toegankelijk via het attribuut __version__ in de module pyspark.

Lees meer over SparkSession hier.

Als je klaar bent met de cluster, is het verstandig om deze af te sluiten. Zo worden de resources vrijgegeven en komen ze beschikbaar voor andere processen.

Notities:

  1. Het kan handig zijn om de dia's uit de lessen te bekijken in het paneel Dia's naast de IPython Shell.
  2. De versie van Spark in de oefening is niet dezelfde als in de lessen. Het oefenplatform is bijgewerkt naar een recentere versie van Spark.

Deze oefening maakt deel uit van de cursus

Machine Learning met PySpark

Cursus bekijken

Oefeninstructies

  • Importeer de klasse SparkSession uit pyspark.sql.
  • Maak een SparkSession-object dat verbonden is met een lokale cluster. Gebruik alle beschikbare cores. Noem de applicatie 'test'.
  • Gebruik het attribuut version op het SparkSession-object om de Spark-versie op de cluster op te halen. Opmerking: De versie kan anders zijn dan die in de presentatie (die wordt af en toe bijgewerkt).
  • Sluit de cluster af.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import the SparkSession class
from ____ import ____

# Create SparkSession object
spark = SparkSession.builder \
                    .master(____) \
                    .____(____) \
                    .____()

# What version of Spark?
print(spark.____)

# Terminate the cluster
spark.____()
Code bewerken en uitvoeren