Este repositorio contiene mis tareas enviadas para el MOOC Big Data Analysis de Coursera con Scala y Spark, impartido por la École Polytechnique Fédérale de Lausanne (EPFL) e impartido por la Prof. Heather C. Miller.
La manipulación de big data distribuidos en un clúster utilizando conceptos funcionales está muy extendida en la industria y podría decirse que es uno de los primeros usos industriales generalizados de ideas funcionales. Esto se evidencia en la popularidad de MapReduce y Hadoop, y más recientemente de Apache Spark, un marco rápido de colecciones distribuidas en memoria escrito en Scala. En este curso, veremos cómo el paradigma de datos paralelos se puede extender al caso distribuido, utilizando Spark en todo momento. Cubriremos el modelo de programación de Spark en detalle, teniendo cuidado de comprender cómo y cuándo difiere de los modelos de programación familiares, como colecciones paralelas de memoria compartida o colecciones secuenciales de Scala. A través de ejemplos prácticos en Spark y Scala, aprenderemos cuándo se deben considerar cuestiones importantes relacionadas con la distribución, como la latencia y la comunicación de red, y cómo se pueden abordar de manera efectiva para mejorar el rendimiento.
Resultados del aprendizaje. Al finalizar este curso podrás:
Antecedentes recomendados: debe tener al menos un año de experiencia en programación. Lo ideal es tener dominio de Java o C#, pero también es suficiente tener experiencia con otros lenguajes como C/C++, Python, Javascript o Ruby. Deberías estar familiarizado con el uso de la línea de comando. Este curso está diseñado para tomarse después de la Programación Paralela: https://www.coursera.org/learn/parprog1.
Fecha de inicio : 4 de enero de 2022
Fecha de finalización : 10 de enero de 2022
Semana : 1
Lección : Uso de Scala REPL, Uso de la herramienta SBT
Descripción : "El objetivo de esta tarea es familiarizarse con la infraestructura y las herramientas necesarias durante esta clase. Aunque la calificación de esta tarea se excluirá de su calificación final del curso, es importante que trabaje en esta tarea. con cuidado."
Nota : 10 / 10
Semana : 1
Lección : Conceptos básicos de los RDD de Spark
Descripción : "En esta tarea, usaremos nuestros datos de texto completo de Wikipedia para producir una métrica rudimentaria de qué tan popular es un lenguaje de programación, en un esfuerzo por ver si nuestras clasificaciones basadas en Wikipedia tienen alguna relación con el popular Red Monk. clasificaciones."
Nota : 10 / 10
Semana : 2 (tarea de dos semanas de duración)
Lección : Operaciones de reducción y pares clave-valor distribuidos
Descripción : "El objetivo general de esta tarea es implementar un algoritmo distribuido de k-medias que agrupa las publicaciones en la popular plataforma de preguntas y respuestas StackOverflow según su puntuación. Además, esta agrupación debe ejecutarse en paralelo para diferentes lenguajes de programación, y el Los resultados deben compararse."
Nota : 10 / 10
Semana : 4
Lección : SQL, marcos de datos y conjuntos de datos
Descripción : "Nuestro objetivo es identificar tres grupos de actividades: necesidades primarias (dormir y comer), trabajo, otras (ocio). Y luego observar cómo distribuyen las personas su tiempo entre estos tres tipos de actividades, y si podemos ver diferencias entre hombres y mujeres, ocupados y desempleados, jóvenes (menores de 22 años), activos (entre 22 y 55 años) y mayores."
Nota : 10 / 10
Los archivos de recursos deben descomprimirse para que el código funcione.