Ejercicios básicos

  • Lectura de Datos y Exploración Básica:

    • Lee un archivo CSV con datos de ventas (por ejemplo, sales_data.csv).
    • Muestra el esquema de los datos.
    • Imprime las primeras 10 filas del DataFrame.
    • Calcula y muestra las estadísticas descriptivas básicas de las columnas numéricas.
  • Transformaciones y Acciones en RDDs:

    • Crea un RDD a partir de una lista de números del 1 al 100.
    • Aplica una transformación map para elevar cada número al cuadrado.
    • Filtra los números que son mayores que 50.
    • Cuenta cuántos números cumplen esta condición y muestra el resultado.
  • Operaciones con DataFrames:

    • Lee un archivo JSON con datos de usuarios (por ejemplo, users.json).
    • Selecciona las columnas name y age y muestra las primeras 5 filas.
    • Filtra los usuarios que tienen más de 30 años.
    • Agrupa los usuarios por gender y cuenta cuántos usuarios hay en cada grupo.
  • SQL en Spark:

    • Crea un DataFrame a partir de un archivo Parquet con datos de productos (por ejemplo, products.parquet).
    • Registra el DataFrame como una vista temporal llamada products.
    • Usa SQL para seleccionar todos los productos cuyo precio es mayor a 100.
    • Calcula el precio promedio de los productos agrupados por categoría.
  • Spark Streaming:

    • Configura un StreamingContext para recibir datos de un socket TCP.
    • Lee líneas de texto desde el socket.
    • Divide cada línea en palabras y cuenta la frecuencia de cada palabra.
    • Imprime los resultados en la consola cada 10 segundos.
  • Machine Learning con MLlib:

    • Lee un archivo CSV con datos de viviendas (por ejemplo, housing_data.csv).
    • Selecciona las columnas features y price para predecir el precio de las viviendas.
    • Divide los datos en conjuntos de entrenamiento y prueba.
    • Entrena un modelo de regresión lineal y realiza predicciones en los datos de prueba.
    • Evalúa el modelo calculando el RMSE (Root Mean Squared Error).
  • Integración con Kafka:

    • Configura un StreamingContext para consumir mensajes de un tema de Kafka.
    • Deserializa los mensajes y convierte el contenido a DataFrames.
    • Realiza una agregación de los mensajes recibidos en tiempo real.
    • Guarda los resultados agregados en HDFS o una base de datos SQL.
  • Despliegue en Clúster Standalone:

    • Configura un clúster Spark en modo Standalone con un maestro y dos trabajadores.
    • Envía una aplicación Spark que lea datos desde HDFS, realice una transformación y guarde los resultados en HDFS.
    • Monitorea la ejecución de la aplicación usando la interfaz web de Spark.
  • Paralelismo y Particiones:

    • Crea un RDD a partir de un archivo de texto grande.
    • Reparticiona el RDD en 8 particiones.
    • Realiza una operación reduceByKey para contar la frecuencia de cada palabra.
    • Observa cómo el paralelismo afecta el tiempo de ejecución de la operación.
  • Persistencia y Caché:

    • Crea un DataFrame a partir de un archivo CSV grande.
    • Realiza varias transformaciones en el DataFrame.
    • Persiste el DataFrame en memoria utilizando cache() o persist().
    • Mide y compara el tiempo de ejecución de las operaciones con y sin persistencia.