Funciones de Agregación en Spark para DataFrames
Clase 18 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 utilizar funciones de agregación en Spark?
Trabajar con grandes volúmenes de datos requiere herramientas eficientes y precisas como Apache Spark. En esta clase, exploramos las funciones de agregación en Spark, esenciales para el análisis de datos de gran volumen. Las funciones de agregación permiten resumir datos proporcionando estadísticas valiosas, como contar, promediar, y sumar grupos de datos. A continuación, te ofrecemos una guía práctica para crear agrupaciones eficaces.
¿Cómo se estructura un data frame para agregaciones?
Antes de aplicar funciones de agregación, es crucial comprender la estructura del data frame con el que trabajarás. A menudo, manejarás data frames resultantes de múltiples joins, combinando varias tablas para obtener todas las columnas necesarias.
- Schema inicial: Selecciona las columnas esenciales para la tarea de agregación.
- Joins: Implementa joins apropiados, fusionando tablas como
resultado,juego,países, entre otras, para obtener las columnas necesarias como medallista, equipo, y disciplina. - Columna clave: Identifica columnas pivote para realizar el GroupBy, tal como el año, el equipo (sigla) y subdisciplina, especialmente si el objetivo es detallar el rendimiento de países en diferentes olimpiadas.
¿Cómo realizar una agrupación básica en Spark?
A partir de la data frame de "medallista por año", inicia con un filtro para depurar datos no esenciales. Luego, ordena los resultados para una salida más clara. Aquí te mostramos los pasos para realizar un groupBy y un conteo (count), con un ejemplo en código:
medallista_filtrado = medallista_ano.filter(medallista_ano.medalla.isNotNull())
grouped_data = medallista_filtrado.groupBy("sigla", "anio", "subdisciplina").count()
grouped_data.show()
¿Cómo emplear funciones de agregación avanzadas?
Para realizar agregaciones complejas, la función agg es la forma más recomendada, permitiéndote aplicar múltiples funciones de agregación simultáneamente. Esto es especialmente útil si tu análisis requiere una serie de operaciones como suma y promedio. Aquí te mostramos cómo hacerlo:
from pyspark.sql.functions import sum as _sum, avg as _avg
resultados_agrupados = (medallista_ano2
.groupBy("sigla", "anio")
.agg(_sum("count").alias("total_de_medallas"),
_avg("count").alias("medallas_promedio"))
.show())
Esta forma de agrupar te permite obtener un resumen conciso de los logros de un país a lo largo del tiempo en diferentes juegos olímpicos.
Experiencias y mejores prácticas al trabajar con Spark
- Paciencia con los joins: Al trabajar con datos voluminosos y varios joins, espera tiempos de ejecución más prolongados. Ajusta otros parámetros como el tamaño de la memoria si es necesario.
- Claridad en los nombres: Utiliza aliases para resultados de agregaciones para mantener claridad y orden en los resultados.
- Documentación: Recuerda consultar la documentación oficial de Spark, ya que constantemente se actualizan mejores prácticas y nuevas funcionalidades.
Al comprender y aplicar estas técnicas de agregación, podrás realizar análisis profundo con gran resolución en tus data frames de Spark, consiguiendo insights valiosos para tomar decisiones informadas. ¡Sigue avanzando en tu aprendizaje y explora la vasta gama de funciones que Spark ofrece!