Aquest mòdul proporciona una base integral i orientada a la pràctiques en enginyeria de dades moderna i analytics, dotant els estudiants de les competències tècniques per processar, gestionar i extreure valor de fonts de dades diverses. Els participants aprendran a utilitzar Python i les seves biblioteques principals (Numpy, Pandas, Matplotlib, SciPy) per a la transformació i anàlisi de dades, alhora que adquiriran una comprensió sòlida de les arquitectures de sistemes Big Data, el processament distribuït en clústers i els serveis de dades basats en el núvol. El curs també cobreix temes essencials com la conversió i estandardització de dades, les tècniques de preparació per al modelatge estadístic i el machine learning i la visualització efectiva de dades. L'exposició addicional a tecnologies emergents com Blockchain i els seus principis de seguretat garanteix que els estudiants estiguin preparats per navegar tant per entorns consolidats com en evolució en entorns basats en dades. Al final del mòdul, els estudiants seran capaços de dissenyar i implementar fluxos de treball de dades end-to-end —des de la ingestió i neteja fins a l'anàlisi i comunicació d'insights— utilitzant eines estàndard de la indústria i les bones pràctiques.
Per participar amb èxit en aquest mòdul, els estudiants han de disposar de coneixements bàsics en processament de dades en general, incloent-hi familiaritat amb bases de dades, formats de dades habituals i tècniques d'anàlisi tant tradicionals com avançades. La competència en el llenguatge de programació Python és important, ja que actua com a eina principal per implementar els conceptes i exercicis que es treballen al llarg del curs. A més, són aconsellables nocions bàsiques d'arquitectures de núvol, atès que moltes de les tecnologies i fluxos de treball que es tracten estan dissenyats per operar en entorns distribuïts o basats en el núvol.
L'objectiu de Big Data Analysis és ensenyar-te com utilitzar eines que puguin gestionar l'allau de dades generades en l'era moderna. Això s'assolirà mitjançant una combinació d'una arquitectura de gestió de dades (la big data pipeline), l'ús de tecnologies específiques de processament Big Data, i una mica de programació en Python. Al final d'aquest curs, hauries de ser capaç de processar fitxers de dades grans i manipular dades per generar estadístiques, mètriques, visualitzacions i, en definitiva, extreure el valor de negoci de les dades.
1. Introducció al Big Data
1.1 Què és Big Data
1.2 Tipus de dades
1.3 La cadena de valor de la dada
1.4 Data Management i Data Governance
1.5 La Big Data Pipeline
1.6 El nou rol del Data Engineer
2. La Big Data Pipeline
2.1 Arquitectura i Metodologia
2.2 Entorns dels Sistemes d'Informació
2.3 Patrons generals en el processament de dades
2.4 L'Arquitectura de Referència dels entorns informacionals
3. Ingestió de Dades
3.1 Tipus de Data Sources
3.2 Alternatives en la ingestió de dades
3.3 Processat batch i processat online
3.4 Ingestió síncrona i asíncrona
4. Repositoris de Dades estructurades
4.1 Conceptes bàsics de Bases de Dades
4.2 DataWarehouse
4.3 Models de dades
4.4 Tipus de Queries
4.5 Casos d'ús de DWH
5. Repositoris per Dades semi i no estructurades
5.1 El DataLake
5.2 Casos d'ús del DataLake
5.3 Concepte de Lakehouse
5.4 Bases de dades NoSQL
5.5 Casos d'ús de NoSQL DB
6. Seguretat de Dades i Blockchain
6.1 Conceptes de criptografía i seguretat de dades
6.2 Arquitectura del Blockchain
6.3 Exemples d'ús del Blockchain
7. Analítica
7.1 Analítica tradicional i objectius
7.2 Analítica i Patrò de procés de les dades
7.3 Decisió
7.4 Visualització de Dades
7.5 Analítica Avançada
7.6 Tècniques de Machine Learning
7.7 Transformers i el mecanisme d'atenció
8. Procés Distribuït de les dades
8.1 Característiques dels Clústers de procés
8.2 Hadoop
8.3 Spark
8.4 Streaming
9. Emmagatzamatge Distribuït de les dades
9.1 Arquitectura de l'emmagatzamatge de dades
9.2 Clusters per emmagatzematge
9.3 Particionat i Repliques
9.4 L'exemple del HDFS
9.5 Principals solucions d'emmagatzematge distribuït
10. Cloud and Big Data
10.1 Entenent el Cloud
10.2 Arquitectura del Cloud i tipus de serveis
10.3 Principals propostes i serveis de Data en Cloud
11. Mantenibilitat dùn entorn informacional
11.1 Estratègia de Protecció
11.2 Extensibilitat, Simplicitat i Operabilitat
Aquesta assignatura té dues sessions docents per setmana. Cada sessió es divideix en dues parts: la primera part està principalment dirigida pel professor, durant la qual es presenten nous continguts i teoria; la segona part implica que els estudiants treballin en exercicis per reforçar els coneixements que han adquirit. Les avaluacions es realitzen periòdicament mitjançant participació en activitats individuals o en grup i la recollida de tasques i exercicis fets a casa, entre d'altres.
Una part important de les activitats i exercicis pràctics es desenvoluparan amb eines cloud estàndar o acadèmiques i familiaritzaran a l'alumne en aquest tipus de plataformes.
En les últimes sessions del mòdul, els estudiants resoldran un treball en grups de 4, amb l’objectiu de verificar l’assimilació dels conceptes treballats.
La metodologia integra, per tant, treball autònom, aprenentatge col·laboratiu a l’aula i avaluació formativa contínua, assegurant la coherència entre activitats formatives, sistema d’avaluació, criteris d’avaluació i càrrega de treball corresponent als crèdits ECTS assignats.
Tipus d'avaluació | Pes | Contingut | Tipus d'activitat | Nivell AIAS |
|---|---|---|---|---|
Assistència i participació | 25% | Tots els temes | Moderadament important | 1 |
Activitats | 35% | Aproximadament 8-10 activitats individuals o grupals | Molt important | 4 |
Examen parcial (Mid-term exam) | 10% | Temes coberts fins al moment | Moderadament important | 1 |
Examen final | 30% | Tots els temes | Molt important | 1 |
Es valorarà:
- La correcta aplicació dels conceptes explicats a classe en els exercicis.
- Les conclusions derivades de les activitats dutes a terme i la correcta interpretació dels resultats obtinguts
- La claredat i estructura en la presentació dels procediments i solucions.
- L'ús adequat i autoritzat de la intel·ligència artificial en les tasques.
Marin, I., Shukla, A., & VK, S. (2019). Big Data Analysis with Python. Packt Publishing.
Martin Kleppmann, (2019), Designing Data-Intensive Applications [O’Reilly]
---