top of page

🧱 FASE 2 – Comprendiendo los DataFrames en Spark (vía Databricks)

  • Foto del escritor: Brayan Neciosup
    Brayan Neciosup
  • 14 jul
  • 2 Min. de lectura

Actualizado: 23 jul

🔍 ¿Qué son los DataFrames en Apache Spark?

Los DataFrames son una abstracción de alto nivel sobre los RDDs. A diferencia de los RDDs (que son colecciones distribuidas sin estructura), los DataFrames sí cuentan con nombres de columnas y tipos definidos, lo que los convierte en una estructura similar a una tabla relacional o un DataFrame de Pandas.

Son ideales para trabajar con datos estructurados y semi-estructurados a gran escala, y su diseño está pensado para optimizar el rendimiento del procesamiento distribuido.


📈 Ventajas técnicas de los DataFrames:

  • Basados en RDDs, pero con estructura tabular (filas y columnas).

  • Catalyst Optimizer: Planifica las consultas para que sean lo más eficientes posibles.

  • Tungsten Engine: Optimiza la ejecución a nivel de CPU y memoria.

  • Evaluación perezosa, como en RDDs: solo se ejecuta cuando se llama una acción.

  • API intuitiva y expresiva, que soporta funciones como select(), filter(), withColumn(), etc.

  • Interoperabilidad con SQL mediante spark.sql() o métodos tipo SQL.

  • Lectura desde múltiples fuentes: CSV, JSON, Parquet, Hive, JDBC, RDDs, etc.

🔧 ¿Cómo trabajar con funciones en DataFrames?

Spark permite dos formas para trabajar con funciones del módulo SQL:

# Opción 1: importar todo

from pyspark.sql import functions as F

# Opción 2: importar funciones específicas

from pyspark.sql.functions import col, when, count, lit

💡La segunda opción es más óptima en notebooks con muchos módulos, ya que ahorra memoria.

⚔️ Diferencias clave entre RDDs y DataFrames:

Característica

RDD

DataFrame

Nivel de abstracción

Bajo

Alto (similar a SQL/Pandas)

Estructura

Lista distribuida sin columnas

Tabla estructurada (filas y columnas)

Optimización

Manual

Automática con Catalyst y Tungsten

Tipado

Sin esquema

Con esquema definido

Velocidad

Menor rendimiento

Mayor rendimiento

Lenguajes soportados

Scala, Java, Python

Scala, Java, Python, R

Uso recomendado

Casos complejos sin estructura definida

Procesamiento estructurado y análisis masivo

💻 Nota sobre Databricks (2025):

En la edición gratuita actual de Databricks (junio 2025):

  • Los DataFrames siguen siendo el estándar principal de procesamiento distribuido.

  • Los notebooks traen spark preinstanciado con SparkSession.

  • Algunas funciones de Hive o SQLContext están limitadas, pero puedes usar spark.read, spark.sql() y DataFrame API sin problemas.

Comments


data_analisis.png

Tomar decisiones sin datos es como navegar en la oscuridad...

En la era digital, los datos son el activo más valioso de las empresas; su correcta recopilación, análisis y aplicación estratégica son clave para impulsar la toma de decisiones informada, la innovación y el éxito empresarial

No dudes en ponerte en contacto para colaborar o simplemente intercambiar ideas! Juntos, podemos seguir descifrando el lenguaje de los datos y construir un futuro más informado.

© 2035 Creado por Mentes Creativas con Wix.com

bottom of page