Processamento de Streams
Objetivos
Aprender os conceitos fundamentais, linguagens e sistemas para construir aplicações que processam fluxos de dados. A unidade curricular aborda, apresenta e discute os sistemas generalistas para processamento de streams em tempo real, e desenvolverá com especial ênfase o estudos de sistemas para modelos de dados estruturados orientados aos fluxos de dados.
Saber
A. Conhecer os principais modelos de programação para o processamento de fluxos contínuos de dados
B. Conhecer as linguagens e assimilar as características fundamentais para resolver problemas no domínio do processamento de streams
C. Compreender as vantagens e as desvantagens das plataformas para processamento de streams.
Aplicação
A. Ser capaz de escolher os modelos, linguagens e ferramentas mais adequadas para resolver um problema de processamento de streams
B. Ser capaz de desenvolver e executar aplicações para processamento de streams usando ferramentas e tecnologias correntes.
Caracterização geral
Código
11562
Créditos
6.0
Professor responsável
A disponibilizar brevemente
Horas
Semanais - A disponibilizar brevemente
Totais - 50
Idioma de ensino
Português
Pré-requisitos
Adequate programming skills in the Python programming language.
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
A disponibilizar brevemente
Método de avaliação
A disponibilizar brevemente
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).
Complex Event Processing.
Streams as sequences of events. Production rules, reactive rules, and event-driven computing. Event processing networks, agents and channels. Complex and derived events. Detection of event patterns. Event-processing languages and systems.
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: