Configuración de PySpark con Jupyter y Anaconda
Clase 6 de 25 • Curso de Fundamentos de Spark para Big Data
Resumen
¿Cómo configurar Jupyter para trabajar con Spark?
Trabajar con Spark puede ser más eficiente cuando se configura adecuadamente Jupyter para el desarrollo. A continuación, te explicaremos paso a paso cómo configurar el entorno para que tu experiencia de desarrollo sea más sencilla y eficiente.
¿Cómo configurar las variables de entorno?
Para comenzar, es importante configurar las variables de entorno en tu archivo Bash RC. Aquí es donde indicaremos qué aplicaciones usaremos por defecto y prepararemos el sistema para el uso de Anaconda y PySpark.
-
Abre tu archivo
.bashrc
y ve al final del documento. -
Agrega las siguientes variables de entorno:
-
PYSPARK_DRIVER_PYTHON
: Indica que utilizaremos Jupyter como aplicación por defecto. -
PYSPARK_DRIVER_PYTHON_OPTS
: Configura las opciones del driver para los notebooks. -
Añade el directorio
Anaconda3/bin
alPATH
para utilizar Anaconda.export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' export PATH=$HOME/anaconda3/bin:$PATH
-
-
Guarda y recarga el archivo para aplicar los cambios.
¿Cuál es el siguiente paso para ejecutar Jupyter?
Una vez configuradas las variables, es esencial saber cómo iniciar Jupyter correctamente para evitar problemas:
-
Asegúrate de no estar en la carpeta de tu usuario (como
home/spark
), ya que esto puede impedir que ejecutes comandos de Anaconda. -
Ubicado en otra ruta, ejecuta el siguiente comando para iniciar Jupyter Notebook:
jupyter notebook
Esto levantará el servidor y abrirá Jupyter en tu navegador.
¿Cómo importar módulos de PySpark en Jupyter?
Al iniciar un nuevo notebook en Jupyter, es importante saber qué módulos son fundamentales y cómo importarlos:
-
Los módulos más clásicos y esenciales son
SparkContext
ySparkSession
. -
Importa estos módulos desde las siguientes rutas:
from pyspark import SparkContext from pyspark.sql import SparkSession
¿Cómo trabajar con SparkSession y SparkContext?
En versiones anteriores a Spark 2.0, se trabajaba mayormente con distintos contextos como SparkContext
y SQLContext
. Sin embargo, a partir de Spark 2.0 se introduce SparkSession
, un entorno más general que engloba todos los contextos.
-
Spark Session: Es más amigable y ofrece funcionalidades adicionales, como mejores configuraciones.
-
Configuración inicial: Por convención, la variable encargada de crear la sesión se llama
spark
.spark = SparkSession.builder.appName("Mi Primera Aplicación").getOrCreate()
Importancia de finalizar la sesión
Una vez que terminas de trabajar, es crucial finalizar la sesión de Spark para liberar recursos:
spark.stop()
¿Cómo crear un SparkContext?
Aunque SparkSession
ha unificado muchos aspectos, aún puedes necesitar crear un SparkContext
:
-
Creación de un contexto:
sc = SparkContext(appName="Mi Primer Contexto")
-
Es posible convertir contextos en sesiones si es necesario.
¿Qué ventajas ofrece el uso de Anaconda?
Anaconda presenta una ventaja significativa al trabajar con Spark gracias a su interfaz de usuario gráfica:
- Spark UI: Ofrece un monitor del estado de las aplicaciones en ejecución, lo que es útil para las aplicaciones distribuidas.
Con la configuración adecuada, tu entorno de desarrollo estará listo para soportar cualquier operación con Spark para tus proyectos. ¡Adelante, sigue explorando y aprendiendo para dominar estas herramientas tan poderosas!