IniziaInizia gratis

Creare una SparkSession

In questo esercizio avvierai un cluster Spark locale usando tutti i core disponibili. Potrai accedere al cluster tramite un oggetto SparkSession.

La classe SparkSession ha un attributo builder, che è un'istanza della classe Builder. La classe Builder espone tre metodi importanti che ti permettono di:

  • specificare la posizione del master node;
  • assegnare un nome all'applicazione (opzionale); e
  • recuperare una SparkSession esistente o, se non c'è, crearne una nuova.

La classe SparkSession ha un attributo version che restituisce la versione di Spark. Nota: la versione è accessibile anche tramite l'attributo __version__ del modulo pyspark.

Scopri di più su SparkSession qui.

Quando hai finito con il cluster, è buona pratica arrestarlo per liberare le risorse, rendendole disponibili ad altri processi.

Note:

  1. Potrebbe esserti utile rivedere le diapositive delle lezioni nel pannello Diapositive accanto alla IPython Shell.
  2. La versione di Spark nell'esercizio non è la stessa delle lezioni. La piattaforma degli esercizi è stata aggiornata a una versione più recente di Spark.

Questo esercizio fa parte del corso

Machine Learning con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la classe SparkSession da pyspark.sql.
  • Crea un oggetto SparkSession connesso a un cluster locale. Usa tutti i core disponibili. Dai all'applicazione il nome 'test'.
  • Usa l'attributo version dell'oggetto SparkSession per recuperare la versione di Spark in esecuzione sul cluster. Nota: la versione potrebbe essere diversa da quella usata nella presentazione (viene aggiornata di tanto in tanto).
  • Arresta il cluster.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import the SparkSession class
from ____ import ____

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

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

# Terminate the cluster
spark.____()
Modifica ed esegui il codice