Processamento de Streams
Objetivos
Learn the fundamentals, languages and systems for building application that process streams of data, ranging from general purpose distributed realtime stream processing systems to structured data models for dealing with streams.
Caracterização geral
Código
11562
Créditos
6.0
Professor responsável
Nuno Manuel Ribeiro Preguiça, Sérgio Marco Duarte
Horas
Semanais - 4
Totais - 50
Idioma de ensino
Português
Pré-requisitos
A disponibilizar brevemente
Bibliografia
Opher Etzion and Peter Niblett. Event Processing in Action. Manning Publications, 2010.
Lukasz Golab and Tamer Özsu. Data Stream Management. Morgan and Claypool, 2010.
Bifet et al., (2018) Machine Learning for Data Streams, MIT Press
Several papers will be provided for further reading.
Método de ensino
.
Método de avaliação
Esquema Geral
A avaliação é composta por uma componente teórica-prática e por uma componente de projeto.
Ambas as componentes são avaliadas numa escala de 0 a 20, arredondado a unidades.
A nota final da disciplina é a média pesada das duas componentes, na qual a componente de projeto contribui com 1/2 e a componente teórica-prática com 1/2.
Para obter aprovação à disciplina um estudante necessita ter uma classificação igual ou superior a 8 valores na componente teórica-prática, e de 10 valores na nota final.
A obtenção de frequência necessita uma classificação final na componente de projeto igual ou superior a 10 valores.
Componente teórica-prática
Esta componente é obtida através de dois testes individuais.
Supletivamente, esta componente pode também ser realizada por exame de recurso.
Componente de projeto
Desta componente fazem parte a realização, apresentação e discussão de dois trabalhos. O primeiro trabalho deverá ser entregue até ao final da 7ª semana de aulas, e o 2º trabalho até ao final das aulas (datas a confirmar com a comissão pedagógica do curso). O trabalho é feito em grupos de até 2 alunos.
Apesar do trabalho ser feito em grupo, a nota desta componente será sempre individual (e não atribuída ao grupo). Para ela contribuem o trabalho e o relatório feitos em grupo, mas também o desempenho na apresentação oral e discussão. A nota final da componente é a média aritmética das notas indivuduais dos dois projetos.
Conteúdo
Distributed Stream Processing Systems.
System models for stream processing: streams as sequences of mini-batches (e.g. Spark streaming); continuous processing (e.g. Apache Flink, Storm).
Programming models. System aspects: distribution, scalability and fault-tolerance.
Distributed time-series databases. Systems for IoT stream processing.
Data Stream Management Systems (DSMS).
Structured Data Models for Streams. Algebraic operators on stream and relations.
Continuous query languages (extensions to SQL and database management systems to deal with data streams).
Machine Learning for Streams.
Introduction to learning from data Dimensionality reduction for streams.
Learning under concept drift. Incremental learning.
Learning under imbalance and learning from graphs.
Cursos
Cursos onde a unidade curricular é leccionada: