Infraestruturas Avançadas para Ciência de Dados

Ano
2
Ano lectivo
2025-2026
Código
02038700
Área Científica
Informática
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Proficiência em programação e noções de sistemas distribuídos e tópicos de computação em cloud. Fluência em Inglês nível B2 (idealmente C1), de acordo com o Quadro Europeu Comum de Referência para Línguas.

Métodos de Ensino

Aulas teóricas (T) : apresentações e discussão sobre os tópicos da unidade curricular.


Aulas práticas (PL): aplicação dos conceitos teóricos em exercícios e projetos.

Resultados de Aprendizagem

A unidade curricular pretende dotar os alunos com competências na temática das infraestruturas computacionais necessárias para Ciência dos Dados, essencialmente na sua compreensão e na gestão de clusters computacionais para suporte ao armazenamento, processamento e distribuição de grandes quantidades de dados. Pretende-se ainda explorar a criação, deploy e orquestração de containers (micro-serviços) em contextos aplicacionais de Ciências dos Dados. Aqui serão exploradas, entre outras, frameworks como Docker e Kubernetes. É ainda objetivo desta disciplina capacitar os alunos com conhecimentos em frameworks de Big Data. Neste caso, pretende-se que os alunos conheçam as principais arquiteturas de Big Data, e que contactem com as principais frameworks de referência – Apache Hadoop e Apache Spark. Para ambas as frameworks serão estudados e experimentados cenários de armazenamento e processamento distribuídos de grandes quantidades de dados, seja em cenários batch ou real-time.

Estágio(s)

Não

Programa

A. Infrastruturas de Ciências de Dados – Introdução
1. Infraestruturas de suporte para Ciência de Dados: uma introdução
2. Gestão de infraestruturas de data center: computação, armazenamento e comunicações

B. Deployment & Orquestração de Containers
3. Containerização de aplicações (ex. Docker)
4. Sistemas de orquestração de containers – Abordagem Imperativa e Declarativa (ex. Kubernets, Mesos, Docker Swarm)

C. Big Data
5. Transporte escalável e fiável em ambientes distribuídos (ex. Apache Kafka)
6. Arquiteturas de big data em tempo real: Kappa e Lambda
7. Frameworks para armazenamento distribuído para Big Data (ex: Apache Hadoop HDFS)
8. Frameworks para orquestração de recursos de cluster Big Data (ex. Apache YARN, Spark Cluster Manager)
9. Frameworks para processamento distribuído (batch e real-time) para Big Data (ex: Apache Hadoop MapReduce, Spark)

Docente(s) responsável(eis)

Pedro Miguel Naia Neves

Métodos de Avaliação

Avaliação
Mini Testes: 30.0%
Projecto: 30.0%
Exame: 40.0%

Bibliografia

- Artigos, recursos disponíveis na Internet e capítulos de livros seleccionados, para cada tópico especializado.
1. Ramcharan Kakarla, Sundar Krishnan, Sridhar Alla, Applied Data Science Using PySpark: Learn the End-to-End Predictive Model-Building Cycle, 2024
2. Gabriel Schenker, The Ultimate Docker Container Book: Build, Test, Ship, and Run Containers wtih Docker and Kubernetes, Packt Publishing, 3rd edition, Apress, 1st edition, 2020
3. Jonathan Rioux, Data Analysis with Python and PySpark, 1st edition, 2022
4. Gwen Shapira, Todd Palino, Rajini Sivaram and Krit Petty, Apache Kafka: the definitive guide, O'Reilly, 2nd edition, 2021
5. Jules Damji, Denny Lee, Brooke Wenig, Learning Spark: Lightning-Fast Big Data Analytics, O'Reilly, 2nd edition, 2020
6. Jan Kunigk, Ian Buss (Author), Paul Wilkinson, Lars George, Architecting Modern Data Platforms: A Guide to Enterprise Hadoop at Scale, O'Reilly, 1st edition, 2019