Módulo: DataFrames: creación, esquema y operaciones
Este módulo forma parte del curso de PySpark. .
Los DataFrames son la API principal de PySpark para trabajar con datos estructurados. A diferencia de los RDDs, los DataFrames tienen un esquema definido y se benefician del optimizador Catalyst, que genera planes de ejecución más eficientes de forma automática.
Se pueden crear DataFrames desde múltiples fuentes: listas de tuplas Python, diccionarios, RDDs existentes o DataFrames de pandas. La definición explícita del esquema con StructType y StructField es recomendable en producción para evitar inferencias costosas y garantizar la corrección de tipos:
from pyspark.sql.types import StructType, StructField, StringType, IntegerType, DoubleType
schema = StructType([
StructField("nombre", StringType(), nullable=False),
StructField("edad", IntegerType(), nullable=True),
StructField("salario", DoubleType(), nullable=True)
])
df = spark.createDataFrame([("Ana", 30, 45000.0), ("Luis", 25, 38000.0)], schema)
df.printSchema()
df.show()
Las operaciones básicas incluyen select para proyección de columnas, filter/where para filtrado, withColumn para añadir o transformar columnas, alias para renombrar, drop para eliminar y withColumnRenamed para cambios de nombre. Para agrupaciones se usa groupBy con funciones de agregación (count, sum, avg, min, max). La ordenación se realiza con orderBy/sort y la deduplicación con distinct y dropDuplicates.
Otros módulos de este curso
DataFrames: creación, esquema y operaciones
Todos los módulos del curso
Navega entre los módulos de PySpark
DataFrames: creación, esquema y operaciones
Estás aquíExplora más sobre PySpark
Descubre más recursos de PySpark
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, PySpark es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.