Creación de SparkSession
En este ejercicio, vas a poner en marcha un clúster Spark local utilizando todos los núcleos disponibles. Se podrá acceder al clúster a través de un objeto SparkSession
.
La clase « SparkSession
» tiene un atributo « builder
», que es una instancia de la clase « Builder
». La clase ` Builder
` expone tres métodos importantes que te permiten:
- especificar la ubicación del nodo maestro;
- nombrar la aplicación (opcional); y
- recuperar un objeto
SparkSession
existente o, si no existe, crear uno nuevo.
La clase « SparkSession
» tiene un atributo « version
» que indica la versión de Spark. Nota: También se puede acceder a la versión a través del atributo __version__
en el módulo pyspark
.
Más información sobre « SparkSession
» aquí.
Una vez que hayas terminado con el clúster, es recomendable apagarlo, lo que liberará sus recursos y los dejará disponibles para otros procesos.
notas:
- Puede resultarte útil revisar las diapositivas de las lecciones en el panel Slides (Diapositivas) junto al terminal IPython.
- La versión de Spark del ejercicio no es la misma que la de las lecciones. La plataforma de ejercicios se ha actualizado a una versión más reciente de Spark.
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones del ejercicio
- Importa la clase
SparkSession
depyspark.sql
. - Crea un objeto
SparkSession
conectado a un clúster local. Utiliza todos los núcleos disponibles. Nombra la aplicación «'test'
». - Utiliza el atributo «
version
» en el objeto «SparkSession
» para recuperar la versión de Spark que se está ejecutando en el clúster. Nota: La versión puede ser diferente a la utilizada en la presentación (se actualiza periódicamente). - Apaga el clúster.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Import the SparkSession class
from ____ import ____
# Create SparkSession object
spark = SparkSession.builder \
.master(____) \
.____(____) \
.____()
# What version of Spark?
print(spark.____)
# Terminate the cluster
spark.____()