Configuración de PySpark con Jupyter y Anaconda
Clase 6 de 25 • Curso de Fundamentos de Spark para Big Data
Contenido del curso
- 7
Transformaciones y Acciones en RDD de Spark
02:32 - 8

Transformaciones y acciones
11:27 - 9

Interacción con RDDs en Spark: Operaciones Básicas y Avanzadas
14:35 - 10

Operaciones avanzadas con RDDs en Spark: Uniones y Joins
14:13 - 11

Unión de Datos en RDD para Deportistas Olímpicos
03:09 - 12

Operaciones Numéricas con RDDs en Juegos Olímpicos
08:59
- 13

Creación y Gestión de Data Frames en PySpark
14:09 - 14

Creación de DataFrame desde RDD en PySpark
09:15 - 15

Manipulación de Data Frames en PySpark
12:32 - 16

Joins y Selección de Datos en DataFrames con PySpark
09:34 - 17

Filtrado y Join de Datos Olímpicos en Pandas
05:02 - 18

Funciones de Agregación en Spark para DataFrames
10:00 - 19

Uso de SQLContext para Registro y Consultas con DataFrames en Spark
07:29 - 20
Creación y Uso de Funciones UDF en Spark
01:06 - 21

Creación y uso de UDFs en PySpark para manejo de datos faltantes
13:09
¿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
.bashrcy 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/binalPATHpara 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
SparkContextySparkSession. -
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!