Engenharia de Grandes Dados
Áreas Científicas |
Classificação |
Área Científica |
CNAEF |
Informática |
Ocorrência: 2024/2025 - 2S 
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
A extração de informação a partir de grandes conjuntos de dados -- chamados “big data” -- tem sido o motor de várias empresas grandes e pequenas nos últimos anos e impõe um conjunto de desafios próprios, que esta UC aborda. O objetivo desta UC é dar a conhecer ao estudante os principais paradigmas, desafios, e abordagens de desenvolvimento de sistemas e aplicações big data.
Resultados de aprendizagem e competências
No final desta unidade curricular, o estudante deverá:
1) conseguir distinguir os diferentes conceitos que suportam a computação paralela e distribuída incluindo o processamento de dados;
2) compreender as arquiteturas e sistemas de armazenamento e processamento existentes para grandes conjuntos de dados;
3) conseguir desenvolver aplicações sobre grandes dados, nomeadamente de pesquisa de dados e de aprendizagem a partir de dados, e caracterizar o seu desempenho;
4) conseguir identificar e discutir desafios ao desenvolvimento e uso de aplicações e modelos big data.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Programação; aprendizagem de dados.
Programa
1. Conceitos fundamentais da computação paralela: medidas de desempenho, gestão da memória e localização dos dados, limitações da computação paralela e modelos de programação paralela.
2. Modelos de programação paralela com dados: paralelismo de dados; modelo Map-Reduce; organização de dados com chave-valor; relação com sistema Hadoop de ficheiros distribuídos e gestão de recursos; modelo Spark, unidade de dados resiliente e distribuída (RDD), ações e transformações, fluxo de processamento com DAGs e difusão de variáveis.
3. Desenvolvimento de aplicações e caracterização do seu desempenho: pesquisa (Spark SQL) e aprendizagem (Spark mllib); debugging, medição, e tuning de tarefas, trabalhos, e passos de execução em Spark.
4. Desafios ao desenvolvimento de aplicações e modelos big data, incluindo privacidade e anonimização dos dados, interpretação de resultados de aprendizagem, viés (bias), e vulnerabilidades
Bibliografia Obrigatória
Hien Luu;
Beginning Apache Spark 3, Apress, 2021. ISBN: 978-1-4842-7382-1
Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee;
Learning Spark -- Lightning-Fast Big Data Analysis, 2nd Edition, O'Reilly, 2020. ISBN: 978-1492050049
Bibliografia Complementar
Tom White;
Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale 4th Edition, O'Reilly, 2015. ISBN: 978-1491901632
Tomcy John, Pankaj Misra; Data Lake for Enterprises: Lambda Architecture for building enterprise data systems, Packt Publishing, 2017. ISBN: 978-1787281349
Métodos de ensino e atividades de aprendizagem
1. Exploração dos conceitos de programação paralela com dados, modelos de programação e arquitetura de sistemas “big data”, e aplicações, através de: a) exposição em sala de aula, b) pesquisa autónoma de artigos científicos, casos de estudo; c) técnica de flipped classroom (sala de aula invertida) com auto-aprendizagem dos conteúdos disponibilizados previamente e discussão dos conceitos em sala de aula.
2. Exploração autónoma, apresentação, e discussão de artigos científicos.
3. Projeto incluindo especificação, desenvolvimento, teste, e caracterização de desempenho de aplicações “big data” recorrendo às tecnologias e conceitos discutidos na UC.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
50,00 |
Trabalho prático ou de projeto |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
60,00 |
Estudo autónomo |
60,00 |
Frequência das aulas |
42,00 |
Total: |
162,00 |
Obtenção de frequência
Realizar o projeto e frequentar as aulas.
Fórmula de cálculo da classificação final
CF = 0,5*T + 0,5*P; if ( T < 10,0 or P < 10,0 ) then CF =MIN(CF, 9.0)
T - test
P - project
Avaliação especial (TE, DA, ...)
A avaliação distribuída, realizada durante o semestre de funcionamento da unidade curricular , é exigida a todos os alunos, independentemente do regime de inscrição. Os estudantes que não frequentam regularmente a unidade curricular fazem as entregas dos trabalhos e apresentações nas épocas previstas e devem tomar a iniciativa de acordar, com o docente, reuniões específicas para acompanhamento dos trabalhos práticos.
Melhoria de classificação
A melhoria de classificação será efectuada através de prova individual única com duas componentes: 1. exame de recurso; 2. Uma componente adicional que permita avaliar as competências avaliadas através do trabalho desenvolvido na avaliação distribuída. A melhoria de classificação pode ser efetuada na época de recurso dessa edição ou da edição seguinte.