🧱 FASE 1: APACHE SPARK 1.1: Spark Core – Introducción a SparkSession y RDD
- Brayan Neciosup
- 14 jul
- 2 Min. de lectura
Actualizado: 15 jul
🚀 ¿Qué es SparkSession y por qué es el punto de partida en PySpark?
Cuando iniciamos un proyecto en PySpark (como en la edición actual de Databricks Free Edition 2025), siempre verás algo como:
from pyspark.sql import SparkSession # Código Python en un Notebook de Databricks
spark = SparkSession.builder.appName("MiProyecto").getOrCreate()
Esto no es casualidad. SparkSession es el punto de entrada principal para trabajar con Spark. Es como la “llave maestra” que abre el acceso a todo el ecosistema de procesamiento de datos.
🔑 Conceptos clave sobre SparkSession:
Es el intermediario entre el código Python y el motor subyacente de Spark (que corre sobre Scala/Java).
Unifica funcionalidades de SQLContext, HiveContext y SparkContext en una sola interfaz.
Administra la asignación de memoria, uso de CPU y distribución de tareas en el clúster.
Facilita la gestión de recursos y ejecución paralela, especialmente dentro de notebooks de Databricks.
En entornos como Databricks, spark ya viene instanciado por defecto.
📦 ¿Qué es un RDD (Resilient Distributed Dataset)?
Antes de los DataFrames, existía el concepto más “puro” y bajo nivel de Spark: los RDDs.
Un RDD es una colección distribuida e inmutable de objetos, que se puede procesar en paralelo a través de un clúster.
🧠 Características clave:
✅ Inmutabilidad: Una vez definido, no se modifica.
✅ Distribución: Está particionado en distintos nodos del clúster.
✅ Resiliencia: Puede reconstruirse tras un fallo, gracias a su linaje (registro de operaciones).
✅ Evaluación perezosa: Las transformaciones no se ejecutan hasta que se llama a una acción.
✅ Procesamiento en memoria: Spark puede cachear datos usados repetidamente.
✅ Flexibilidad: Permite trabajar tanto con datos estructurados como no estructurados.
➡️Creación de un RDD:
rdd = spark.sparkContext.parallelize([1, 2, 3, 4]) # Código Python en un Notebook de Databricks
📌 Consideraciones con Databricks (2025)
Con la edición gratuita actual de Databricks (junio 2025):
El uso de RDDs aún está soportado, pero se recomienda utilizar DataFrames por eficiencia, optimización automática y compatibilidad con Spark SQL.
SparkSession sigue siendo el punto de entrada activo y viene predefinido.
Algunas configuraciones de clúster están limitadas, pero siguen siendo funcionales para pruebas de Spark Core, SQL y MLlib.
Comments