Operaciones Numéricas con RDDs en Juegos Olímpicos
Clase 12 de 25 • Curso de Fundamentos de Spark para Big Data
Contenido del curso
Configuración
Operaciones RDDs
- 7
Transformaciones y Acciones en RDD de Spark
02:32 min - 8

Transformaciones y acciones
11:27 min - 9

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

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

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

Operaciones Numéricas con RDDs en Juegos Olímpicos
Viendo ahora
Data Frames y SQL
- 13

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

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

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

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

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

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

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

Creación y uso de UDFs en PySpark para manejo de datos faltantes
13:09 min
Persistencia y particionado
Conclusiones
¿Cómo realizar operaciones numéricas con RDDs?
Las operaciones numéricas en RDDs (Resilient Distributed Datasets) son esenciales para procesar y analizar grandes volúmenes de datos de manera eficiente en entornos distribuidos. Aprovechando la flexibilidad y capacidad de escalado de RDDs, es posible obtener información valiosa de datos numéricos. En este caso, nos centraremos en analizar los puntajes de los países que han competido en los Juegos Olímpicos mediante RDDs. Vamos a analizar el proceso, paso a paso, proporcionándote un entendimiento claro de cómo trabajar con estas estructuras de datos.
¿Cómo asignar puntajes a las medallas olímpicas?
Para comenzar nuestro análisis, necesitamos un sistema de puntuación que refleje los logros de los países en los Juegos Olímpicos. La Comisión de los Juegos Olímpicos asigna puntajes en base a las medallas ganadas:
- Medallas de oro: 7 puntos
- Medallas de plata: 5 puntos
- Medallas de bronce: 4 puntos
Estos valores los almacenamos en un diccionario para utilizarlos fácilmente durante los cálculos en nuestro ejercicio.
valores_medallas = {'Oro': 7, 'Plata': 5, 'Bronce': 4}
¿Cómo extraer y preparar datos de los RDDs?
Una vez definido el sistema de puntuación, el siguiente paso es extraer la información relevante de los RDDs. En nuestro caso, partimos de una estructura de datos que incluye varios valores, y nos interesa centrarnos en el país y el tipo de medalla que ha ganado. Usamos los métodos de manipulación de RDDs para acceder a estos datos.
# Extraer el país y la medalla de la subtupla
pais_medalla = rdd.map(lambda x: (x[1][0], x[1][1]))
¿Cómo calcular los puntajes de los países con RDDs?
Para calcular el puntaje total acumulado por cada país, debemos sumar los puntos asignados a cada tipo de medalla. Primero, necesitamos las importaciones necesarias para sumar los valores. Utilizamos métodos de reducción disponibles en Spark.
- Reducir por llave (reduceByKey): combina los valores de las mismas claves (en este caso, los países).
- Sumar puntos con
operator.add: usando la función de sumas de la libreríaoperator.
from operator import add
paises_medallas = pais_medalla.map(lambda x: (x[0], valores_medallas[x[1]]))
resultado = paises_medallas.reduceByKey(add)
¿Cómo ordenar y mostrar los resultados?
Finalmente, después de calcular los puntajes, es fundamental presentar la información de manera ordenada para una fácil comprensión. Podemos ordenar los resultados alfabéticamente o por puntaje de manera ascendente o descendente, utilizando sortBy.
# Ordenar los resultados por puntaje en orden descendente
resultado_ordenado = resultado.sortBy(lambda x: x[1], ascending=False)
# Mostrar los resultados
for pais in resultado_ordenado.collect():
print(pais)
¿Qué hacer si hay discrepancias en las sumas?
Es posible que encuentres ciertas inconsistencias en los resultados debido a la forma en que se manejan los nombres y siglas de los países en los sistemas de puntuación olímpica. Algunas veces, diferentes equipos del mismo país pueden tener siglas idénticas, lo cual puede llevar a errores en los conteos. Se recomienda explorar y comprender bien los RDDs y considerar posibles soluciones para corregir estos errores.
Continuar aprendiendo sobre RDDs te proporcionará habilidades invaluables para gestionar y analizar grandes conjuntos de datos. Los RDDs son fundamentales en la analítica de datos y te invito a seguir avanzando en tu dominio de estas herramientas.