IPT Logotipo do IPT

Ano Letivo: 2022/23

Engenharia Informática-Internet das Coisas

Análise de Grande Volume de Dados

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho n.º 13495/2022 - 18/11/2022

10 ECTS; 1º Ano, 1º Semestre, 30,0 PL + 30,0 TP + 30,0 OT , Cód. 390913.

Docente(s)
- Ricardo Nuno Taborda Campos (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Não aplicável

Objetivos
Esta UC tem por objetivo introduzir os alunos à extração e ao processamento de informação a partir de grandes volumes de dados. No final da UC o aluno deverá ter conhecimento das questões éticas associadas à coleta e ao uso de informação presente nos grandes conjuntos de dados; ser capaz de aplicar métodos de coleta e de extração de informação a partir da web com recurso à linguagem de programação Python; estar familiarizado com os 5V's dos grandes volumes de dados: volume, velocidade, variedade, veracidade e valor; saber usar e programar com recurso a frameworks de processamento de grandes volumes de dados a partir do paradigma map-reduce.

Ao concluir esta UC o aluno deverá:
1. Entender a importância da linguagem de programação Python no contexto dos grandes volumes de dados
2. Ter conhecimento das questões éticas associadas à coleta e ao uso de informação presente nos grandes conjuntos de dados
3. Dominar o processo de coleta de dados a partir da web
4. Saber aplicar métodos de extração de informação
5. Estar familiarizado com os 5V's dos grandes volumes de dados: volume, velocidade, variedade, veracidade e valor.
6. Saber usar e programar as principais frameworks de armazenamento e processamento de grandes volumes de dados a partir do paradigma map-reduce.

Programa
1. Python e o Big Data
1.1. Porquê usar Python?
1.2. História do Python
1.3. Características
1.4. Vantagens
1.5. Jupyter Anaconda

2. Ética e Privacidade dos Dados
2.1. Como é que podemos evitar o big data?
2.1. Questões éticas na coleta e uso de dados
2.2. Privacidade dos dados
2.3. Consequências do enviesamento (bias) do dados
2.4. Bolhas de Filtro (Filter Bubbles)
2.5. Fake News

3. Aquisição de Dados
3.1. Fontes e tipos de dados (estruturados; semi-estruturados; não estruturados)
3.2. Aquisição de dados a partir de Ficheiros (texto, imagens, pdfs, word, html, csv, json)
3.3. Aquisição de dados a partir da web (Bibliotecas Python; APIs; Web Scraping)

4. Extração de Informação
4.1. Definição
4.2. Arquitetura e pipeline de um sistema de extração de informação
4.3. Métodos de extração de informação

5. Introdução do Big Data (Modelo de Programação Map-Reduce)
5.1. O que é o big data?
5.2. Quem está a usar Big Data?
5.3. Origens da informação;
5.4. Razões para colecionar tantos dados;
5.5. Como é que o big data difere das tradicionais bases de dados?
5.6. 5 V?s do Big Data: volume, velocidade, variedade, veracidade e valor;
5.7. Diferentes Tipos de Processamento: Batch e Streaming

6. Frameworks de Armazenamento e Processamento de Grandes Volumes de Dados
6.1. Introdução ao Docker no contexto dos grandes volumes de dados
6.2. O paradigma Map-Reduce
6.3. Processamento Batch de grandes volumes de dados a partir de Hadoop e Dask
6.4. Processamento Streaming de grandes volumes de dados a partir de Spark

Metodologia de avaliação
Avaliação periódica: Projeto (60%) + Frequência (40%)

A entrega do projeto é obrigatória para a obtenção de aprovação na unidade curricular durante a avaliação periódica que pressupõe um mínimo de 70% de presenças. A entrega fora do prazo previsto implica a reprovação automática do aluno impossibilitando-o de se propor a exame. Os alunos ficam também automaticamente reprovados e excluídos de exame no caso de obterem nota inferior a 6 valores no projeto ou no caso de não atingirem um número mínimo de presenças.

Avaliação Final: Exame (100%)

Bibliografia
- Galar, M. e Triguero, I. (2023). Large-Scale Data Analytics with Python and Spark. UK: Cambridge University Press
- Marr, B. (2022). Data Strategy: How to Profit from a World of Big Data, Analytics and the Internet of Things. USA: Kogan Page
- McKinney, W. (2017). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. USA: O'Reilly
- Rioux, J. (2022). Data Analysis with Python and PySpark. USA: Manning

Método de Ensino
Exposição dos conteúdos programáticos com recurso ao método expositivo e demonstrativo. Análise e resolução de casos práticos através de notebooks. Os conhecimentos adquiridos serão avaliados através da realização e apresentação de projectos

Software utilizado nas aulas
Python: Anaconda e Jupyter Notebooks; PySpark

 

Aprovado em Conselho Técnico Cientifico: 26 de novembro de 2022

Download da Ficha da Unidade Curricular (FUC)

 

 


<< voltar ao Plano Curricular
Elemento gráfico

Notícias | Agenda

NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
co-financiado