Este repositório contém minhas tarefas enviadas para o Coursera MOOC Big Data Analysis with Scala and Spark, ministrado pela École Polytechnique Fédérale de Lausanne (EPFL) e ministrado pela Prof.
A manipulação de big data distribuído em um cluster usando conceitos funcionais é comum na indústria e é, sem dúvida, um dos primeiros usos industriais generalizados de ideias funcionais. Isso é evidenciado pela popularidade do MapReduce e do Hadoop e, mais recentemente, do Apache Spark, uma estrutura de coleções distribuídas na memória e rápida, escrita em Scala. Neste curso, veremos como o paradigma paralelo de dados pode ser estendido ao caso distribuído, usando o Spark por toda parte. Abordaremos detalhadamente o modelo de programação do Spark, tendo o cuidado de entender como e quando ele difere dos modelos de programação familiares, como coleções paralelas de memória compartilhada ou coleções sequenciais do Scala. Através de exemplos práticos em Spark e Scala, aprenderemos quando questões importantes relacionadas à distribuição, como latência e comunicação de rede, devem ser consideradas e como elas podem ser abordadas de forma eficaz para melhorar o desempenho.
Resultados de aprendizagem. Ao final deste curso você será capaz de:
Histórico recomendado: Você deve ter pelo menos um ano de experiência em programação. Proficiência em Java ou C# é ideal, mas experiência com outras linguagens como C/C++, Python, Javascript ou Ruby também é suficiente. Você deve ter alguma familiaridade com o uso da linha de comando. Este curso deve ser realizado após a Programação Paralela: https://www.coursera.org/learn/parprog1.
Data de início : 4 de janeiro de 2022
Data de conclusão : 10 de janeiro de 2022
Semana : 1
Lição : Usando o Scala REPL, usando a ferramenta SBT
Descrição : "O objetivo desta tarefa é familiarizar-se com a infraestrutura e as ferramentas necessárias durante esta aula. Mesmo que a nota desta tarefa seja excluída da nota final do curso, é importante que você trabalhe nesta tarefa com cuidado."
Nota : 10/10
Semana : 1
Lição : Noções básicas de RDDs do Spark
Descrição : "Nesta tarefa, usaremos nossos dados de texto completo da Wikipédia para produzir uma métrica rudimentar de quão popular é uma linguagem de programação, em um esforço para ver se nossas classificações baseadas na Wikipédia têm alguma relação com o popular Red Monk classificações."
Nota : 10/10
Semana : 2 (tarefa de duas semanas)
Lição : Operações de redução e pares de valores-chave distribuídos
Descrição : "O objetivo geral desta tarefa é implementar um algoritmo k-means distribuído que agrupa postagens na popular plataforma de perguntas e respostas StackOverflow de acordo com sua pontuação. Além disso, esse agrupamento deve ser executado em paralelo para diferentes linguagens de programação, e o os resultados devem ser comparados."
Nota : 10/10
Semana : 4
Lição : SQL, Dataframes e Conjuntos de Dados
Descrição : "Nosso objetivo é identificar três grupos de atividades: necessidades primárias (dormir e comer), trabalho, outras (lazer). E então observar como as pessoas alocam seu tempo entre esses três tipos de atividades, e se podemos ver diferenças entre homens e mulheres, pessoas empregadas e desempregadas, e pessoas jovens (menos de 22 anos), activas (entre 22 e 55 anos) e idosas."
Nota : 10/10
Os arquivos de recursos devem ser descompactados para que o código funcione.