Mòdul 5075 — Big Data Aplicat
Proposta didàctica
El mòdul 5075 - Big Data Aplicat (99 hores) és la continuació i aprofundiment pràctic del mòdul 5074. Si en el 5074 aprenguérem quines tecnologies existeixen i com funcionen, en el 5075 aprendrem a aplicar-les en entorns reals: dissenyar pipelines d'ingestió robustos, garantir la qualitat de les dades, monitoritzar clústers en producció i construir solucions de Business Intelligence completes.
La diferència entre saber Big Data i aplicar-lo és la diferència entre conèixer les regles del joc i jugar-lo professionalment. En el mercat laboral, les empreses no busquen professionals que sàpiguen que existeix Kafka: busquen professionals que puguin dissenyar un pipeline CDC amb Debezium, que puguin diagnosticar per qué el consumer lag de Kafka augmenta a les 3 del matí, i que puguin construir un dashboard que el director de logística consulti cada matí.
Resultats d'Aprenentatge i Criteris d'Avaluació
RA1 — Gestió i emmagatzematge distribuït de dades
- CA1.1 Caracteritza els sistemes de fitxers distribuïts i els seus principis de funcionament (HDFS, S3, GCS)
- CA1.2 Configura i administra un clúster HDFS: NameNode, DataNodes, factor de replicació, quotas
- CA1.3 Compara els formats d'emmagatzematge (Parquet, ORC, Avro, Delta Lake, Iceberg) i selecciona el més adequat
- CA1.4 Implementa pipelines d'ingestió: Kafka Connect, Debezium CDC, Apache NiFi
- CA1.5 Configura Delta Lake o Apache Iceberg per a garanties ACID sobre object storage
- CA1.6 Aplica time travel i schema evolution sobre Delta Lake
- CA1.7 Dissenya patrons d'ingestió (batch, micro-batch, streaming) i els implementa
RA2 — Integritat i qualitat de dades en sistemes distribuïts
- CA2.1 Defineix les dimensions de qualitat de dades: completeness, consistency, accuracy, timeliness, uniqueness, validity
- CA2.2 Verifica la integritat de dades a HDFS (checksums CRC32C, fsck, blocs corruptes)
- CA2.3 Implementa validacions automatitzades amb Great Expectations
- CA2.4 Crea tests de dades amb dbt (schema tests, data tests, freshness checks)
- CA2.5 Configura i usa eines de catàleg de dades (Apache Atlas, DataHub)
- CA2.6 Aplica principis de governança de dades: data mesh, data contracts
- CA2.7 Implementa el dret a l'oblit (RGPD) en sistemes Big Data distribuïts
RA3 — Monitorització de sistemes Big Data
- CA3.1 Descriu la importància de la monitorització en sistemes Big Data: costos, SLAs, detecció primerenca
- CA3.2 Configura Prometheus + Grafana per a monitoritzar Hadoop, Kafka i Spark
- CA3.3 Centralitza logs amb l'ELK Stack i crea dashboards de logs a Kibana
- CA3.4 Defineix i monitoritza SLAs per a pipelines de dades
- CA3.5 Configura alertes (Alertmanager) i integracions amb Slack o correu
- CA3.6 Monitoritza jobs d'Airflow: retries, SLA misses, temps d'execució
- CA3.7 Analitza i optimitza els costos en entorns cloud Big Data
RA4 — Pipelines ETL/ELT amb eines professionals
- CA4.1 Diferencia ETL i ELT i selecciona el patró adequat per a cada cas d'ús
- CA4.2 Implementa pipelines ETL/ELT amb Apache Airflow
- CA4.3 Usa dbt per a transformacions SQL reproduïbles i testejades
- CA4.4 Configura i opera Apache NiFi per a pipelines visuals de dades
- CA4.5 Implementa ingesta incremental i gestió de deletes eficients (SCD, Hudi)
- CA4.6 Dissenya pipelines tolerants a fallades amb retry, idempotència i exactly-once
RA5 — Intel·ligència de Negoci amb Big Data
- CA5.1 Descriu l'evolució del BI: reporting → OLAP → self-service → AI-augmented BI
- CA5.2 Aplica les fases del KDD (Knowledge Discovery in Databases) i del CRISP-DM
- CA5.3 Configura i usa Metabase (open source) per a dashboards interactius
- CA5.4 Implementa un pipeline dbt complet: raw → staging → marts
- CA5.5 Usa DuckDB per a anàlisi OLAP sobre fitxers Parquet en local
- CA5.6 Avalua el ROI d'un projecte de BI i el presenta als directius
- CA5.7 Descriu les eines d'AI-augmented BI 2025: Power BI Copilot, Tableau Pulse, ThoughtSpot
La pila tecnològica completa del Data Engineer 2025
graph TD
subgraph Fonts["Fonts de Dades"]
BD[(BBDD relacionals)]
API[APIs REST]
IOT[IoT / Sensors]
LOGS[Logs d'aplicació]
end
subgraph Ingesta["Capa d'Ingestió"]
CDC[Debezium CDC]
KAFKA[Apache Kafka]
NIFI[Apache NiFi]
CONNECT[Kafka Connect]
end
subgraph Emmagatzematge["Capa d'Emmagatzematge"]
HDFS[HDFS / S3]
DELTA[Delta Lake]
ICEBERG[Apache Iceberg]
end
subgraph Processament["Capa de Processament"]
SPARK[Apache Spark]
FLINK[Apache Flink]
AIRFLOW[Apache Airflow]
end
subgraph Qualitat["Qualitat i Governança"]
GE[Great Expectations]
DBT[dbt]
ATLAS[Apache Atlas]
end
subgraph Consum["Capa de Consum"]
BI[Metabase / Superset]
ML[Models de ML]
API2[APIs de dades]
end
subgraph Monitor["Monitoratge"]
PROM[Prometheus]
GRAF[Grafana]
ELK[ELK Stack]
end
Fonts --> Ingesta
Ingesta --> Emmagatzematge
Emmagatzematge --> Processament
Processament --> Qualitat
Qualitat --> Consum
Monitor -.-> Ingesta
Monitor -.-> Emmagatzematge
Monitor -.-> Processament
Arquitectures de referència
Arquitectura Lambda — Creada per Nathan Marz (2011), combina processament en lot i en temps real:
graph LR
F[Font de dades] --> BL[Batch Layer\nHadoop/Spark]
F --> SL[Speed Layer\nKafka/Flink]
BL --> SV[Serving Layer\nHBase/Cassandra]
SL --> SV
SV --> Q[Consultes\nde l'usuari]
- Avantatge: Alta fiabilitat; el batch recompta sempre que cal.
- Inconvenient: Complexitat — cal mantenir dos sistemes paral·lels.
Arquitectura Kappa — Proposada per Jay Kreps (Confluent, 2014), tot és streaming:
graph LR
F[Font de dades] --> KAF[Kafka\nlog unificat]
KAF --> SP[Spark Streaming\no Flink]
SP --> SV[Serving Layer]
SV --> Q[Consultes]
KAF --> HIST[(Historial\nllarguement retingut)]
- Avantatge: Un únic codi de processament, menys complexitat operacional.
- Inconvenient: El reprocessament massiu pot ser costós si el dataset és enorme.
Data Lakehouse — L'arquitectura dominant el 2025:
Combina l'escalabilitat del Data Lake (S3, HDFS) amb les garanties ACID i el rendiment de consultes del Data Warehouse, gràcies a formats com Delta Lake, Apache Iceberg i Apache Hudi.
Continguts de referència
- Emmagatzematge distribuït: HDFS en profunditat, Delta Lake, Apache Iceberg, Apache Hudi, formats Parquet/ORC/Avro
- Ingestió de dades: Kafka Connect, Debezium CDC, Apache NiFi, patrons batch/streaming/micro-batch
- Qualitat i governança: Great Expectations, dbt tests, Apache Atlas, DataHub, RGPD en Big Data, data mesh
- Monitorització: Prometheus + Grafana, ELK Stack, Apache Airflow, alertes, SLAs, optimització de costos cloud
- Business Intelligence: Modern Data Stack 2025, DuckDB, dbt, Metabase, AI-augmented BI, ROI del BI
Questionari inicial
Questionari inicial — Mòdul 5075 Big Data Aplicat
Respon les 20 preguntes següents. No es qualifiquen: serveixen per identificar el teu punt de partida i activar els coneixements previs del mòdul 5074.
1. Quina diferència hi ha entre un Data Lake i un Data Lakehouse? Per qué Delta Lake és considerat un "game changer"?
2. Explica amb les teves paraules qué és Change Data Capture (CDC). Per qué és útil per a la ingestió incremental de dades?
3. Qué és HDFS Federation? Per qué una sola instància de NameNode pot ser un coll d'ampolla en clústers molt grans?
4. Quina diferència hi ha entre el format Parquet i el format Avro? En quin cas usaries cadascun?
5. Qué és Great Expectations? Quin problema de Data Engineering resol?
6. Explica el concepte de "data lineage". Per qué és important saber d'on ve cada dada en un sistema complex?
7. Qué és dbt (data build tool)? Com s'integra en un pipeline ELT modern?
8. Qué és el RGPD i com afecta als sistemes Big Data? Qué significa el "dret a l'oblit" en el context d'un Data Lake?
9. Explica qué és Prometheus i qué és Grafana. Quina relació hi ha entre ells?
10. Qué és Apache Airflow? Qué és un DAG en el context d'Airflow?
11. Per qué el consumer lag de Kafka és una mètrica important? Qué indica quan és molt elevat?
12. Qué és el Data Mesh? Com difereix de l'arquitectura centralitzada de dades?
13. Qué és DuckDB? Per qué ha revolucionat l'anàlisi de dades en local des del 2023?
14. Explica la diferència entre ETL i ELT. Quin s'usa més en arquitectures cloud modernes i per qué?
15. Qué és Metabase? Quines diferències té amb Power BI en termes de cost i flexibilitat?
16. Qué és Apache NiFi? En qué es diferencia de Kafka Connect?
17. Qué significa "time travel" en el context de Delta Lake? Quin cas d'ús resol?
18. Qué és un SLA en el context de pipelines de dades? Posa un exemple concret.
19. Qué és el Modern Data Stack (MDS)? Enumera les eines típiques de cada capa.
20. Has sentit parlar de Power BI Copilot o ThoughtSpot? Qué creus que aporta la IA als sistemes de BI?
Programació d'aula
| Sessió | Continguts | Activitats | CAs Treballats |
|---|---|---|---|
| 1 | Presentació del mòdul. Del 5074 al 5075: de saber a aplicar. Arquitectures Lambda i Kappa | Questionari inicial. Anàlisi comparativa d'arquitectures | CA1.1, CA4.1 |
| 2 | HDFS en profunditat: NameNode HA, JournalNodes, Federation, safe mode | Diagrama d'arquitectura HA. Càlcul de quotas | CA1.2 |
| 3 | Formats d'emmagatzematge: Parquet, ORC, Avro, JSON Lines. Benchmark comparatiu | Activitat AC5075/01: benchmark de formats amb PySpark | CA1.3 |
| 4 | Delta Lake: ACID, transaction log, time travel | Exercici: crear taula Delta, RESTORE, VERSION AS OF | CA1.5, CA1.6 |
| 5 | Delta Lake: OPTIMIZE, Z-ordering, Change Data Feed, schema evolution | Activitat AC5075/02: pipeline complet Delta Lake | CA1.5, CA1.6 |
| 6 | Apache Iceberg: hidden partitioning, partition evolution, branching | Comparativa Iceberg vs Delta Lake: casos d'ús | CA1.3, CA1.5 |
| 7 | Apache Hudi: Copy-on-Write vs Merge-on-Read, upserts per a RGPD | Exercici: upsert i delete amb Hudi en Docker | CA1.5, CA2.7 |
| 8 | Ingestió: Kafka Connect, connectors JDBC i S3 | Configuració d'un connector JDBC Kafka Connect | CA1.4 |
| 9 | Debezium CDC: Change Data Capture des de PostgreSQL | Pràctica: Debezium + Kafka en Docker | CA1.4, CA1.7 |
| 10 | Apache NiFi: pipeline visual de dades | Creació de pipeline NiFi: CSV → Kafka → HDFS | CA1.4, CA4.4 |
| 11 | Inici Pràctica PR5075/02: clúster Hadoop Docker | Configuració docker-compose.yml Hadoop | CA1.2, CA4.6 |
| 12 | PR5075/02: operacions HDFS i MapReduce WordCount | hdfs dfs, job MapReduce, monitoratge NameNode UI | CA1.2, CA4.6 |
| 13 | PR5075/02: consultes Hive | CREATE TABLE, LOAD DATA, SELECT, JOIN a Hive | CA1.2, CA4.3 |
| 14 | Dimensions de qualitat de dades: les 6 dimensions, exemples reals | Activitat: auditoria de qualitat d'un dataset públic | CA2.1 |
| 15 | HDFS fsck, CRC32C checksums, recuperació de blocs | Simulació de fallada de DataNode i recuperació | CA2.2 |
| 16 | Great Expectations: expectations, suites, data docs | Pràctica: validar un CSV de vendes amb GE | CA2.3 |
| 17 | dbt: models, tests (schema + custom SQL), sources, freshness | Activitat AC5075/03: primer model dbt + tests | CA2.4, CA4.3 |
| 18 | Apache Atlas i DataHub: lineage i catàleg de dades | Demo Atlas en Docker. Navegació DataHub UI | CA2.5 |
| 19 | Data Mesh i Data Contracts: principis i casos d'ús | Disseny d'un data mesh per a empresa fictícia | CA2.6 |
| 20 | RGPD en Big Data: DELETE Delta Lake, pseudonimització, PII detection | Exercici: implementar GDPR delete en Delta Lake | CA2.7 |
| 21 | Monitorització Big Data: per qué i qué mesurar | Anàlisi de post-mortems reals d'incidents Big Data | CA3.1 |
| 22 | Prometheus + Grafana: arquitectura, exporters, scraping | docker-compose.yml Prometheus + Grafana + Node Exporter | CA3.2 |
| 23 | Dashboards Grafana per a Hadoop i Kafka | Importació de dashboards JSON. Consumer lag dashboard | CA3.2, CA3.4 |
| 24 | ELK Stack: Elasticsearch + Logstash + Kibana | docker-compose.yml ELK. Ingesta de logs de Spark | CA3.3 |
| 25 | Alertmanager: regles, rutes, integracions Slack | Configuració d'alertes: disc >80%, job falla | CA3.5 |
| 26 | Apache Airflow: DAGs, operadors, XComs, SLA misses | Creació d'un DAG d'ingesta diària amb email on failure | CA3.6, CA4.2 |
| 27 | Inici Pràctica PR5075/03: Metabase + Docker | docker-compose.yml PostgreSQL + Metabase | CA5.3, CA5.6 |
| 28 | PR5075/03: dades init.sql + preguntes Metabase | SQL a Metabase, GUI questions, dashboard | CA5.3, CA5.4 |
| 29 | KDD i CRISP-DM: fases i aplicació pràctica | Aplicació de CRISP-DM a un cas de negoci real | CA5.1, CA5.2 |
| 30 | Modern Data Stack 2025: Fivetran, Airbyte, Snowflake, dbt, Looker | Comparativa d'eines per a cada capa del MDS | CA5.1, CA5.3 |
| 31 | DuckDB: OLAP en local sense infraestructura | Activitat AC5075/04: consultes DuckDB sobre Parquet | CA5.5 |
| 32 | AI-augmented BI: Power BI Copilot, Tableau Pulse, ThoughtSpot | Demo Copilot. Debat sobre el futur del BI | CA5.7 |
| 33 | Revisió, consolidació i avaluació del mòdul | Entrega pràctiques. Questionari final d'avaluació | Tots els CAs |
Del saber al fer: la diferència entre 5074 i 5075
El mòdul 5074 et va donar el mapa. El 5075 et fa caminar sobre el territori.
En el 5074 aprengueres que Kafka permet streaming de dades. En el 5075 configuraràs un connector Debezium que captura cada canvi a una base de dades PostgreSQL i l'envia a Kafka en menys de 100 mil·lisegons. En el 5074 sabies que Great Expectations existeix. En el 5075 escriuràs un suite d'expectations que valida automàticament cada fitxer Parquet que arriba al teu Data Lake.
Aquesta diferència és crucial per al mercat laboral. Les entrevistes tècniques de Data Engineer no pregunten "Qué és Delta Lake?". Pregunten "Com implementaries el dret a l'oblit del RGPD en un sistema amb Delta Lake?". O "Com diagnosticaries un consumer lag de Kafka que creix 1.000 missatges per hora?".
Consell professional
Cada tema d'aquest mòdul té un equivalent directe en eines que veuràs a les ofertes de feina de Data Engineer a Espanya el 2025. Apunta les eines i els conceptes: Delta Lake, Debezium, Great Expectations, dbt, Prometheus, Grafana, Airflow, Metabase, DuckDB. Cada vegada que en dominis una, ets més competitiu al mercat.
Activitats del mòdul
AC5075/01 — Benchmark de formats d'emmagatzematge
Usa PySpark per comparar el rendiment de CSV, Parquet, ORC i Delta Lake sobre el mateix dataset de 1 milió de registres. Mesura: mida del fitxer, temps de lectura, temps d'escriptura, temps d'una consulta d'agregació.
AC5075/02 — Pipeline Delta Lake complet
Crea un pipeline amb PySpark que:
1. Llegeixi un stream de dades simulades (Faker o dataset NYC Taxi)
2. Escrigui a Delta Lake amb mode append
3. Faci una operació de OPTIMIZE i Z-ORDER BY
4. Demostri el time travel: llegir l'estat de la taula fa 10 minuts
AC5075/03 — Primer model dbt
Instal·la dbt-duckdb i crea:
1. Un model staging que llegeixi un CSV de vendes
2. Un model marts que calculi les vendes per categoria i mes
3. Tests not_null i unique sobre les claus primàries
4. Executa dbt docs generate i visualitza la documentació
AC5075/04 — Anàlisi OLAP amb DuckDB
Descarrega el dataset NYC Taxi de 1 GB en format Parquet. Usa DuckDB per:
1. Carregar el fitxer directament sense importar (format parquet_scan)
2. Executar 5 consultes analítiques complexes
3. Mesura el temps de cada consulta i compara amb Pandas
Mòdul 5075 Big Data Aplicat | Institut Sa Palomera (Blanes) | Curs IABD 2026-2027