Salta el contingut

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

  1. Emmagatzematge distribuït: HDFS en profunditat, Delta Lake, Apache Iceberg, Apache Hudi, formats Parquet/ORC/Avro
  2. Ingestió de dades: Kafka Connect, Debezium CDC, Apache NiFi, patrons batch/streaming/micro-batch
  3. Qualitat i governança: Great Expectations, dbt tests, Apache Atlas, DataHub, RGPD en Big Data, data mesh
  4. Monitorització: Prometheus + Grafana, ELK Stack, Apache Airflow, alertes, SLAs, optimització de costos cloud
  5. 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