ETL i pipelines de dades
Resultat d'Aprenentatge
RA3: Gestiona i emmagatzema dades en grans conjunts extraient valor de diverses fonts.
Criteris d'Avaluació (CA)
| CA | Descripció |
|---|---|
| CA3.1 | Extreu i emmagatzema dades de diverses fonts dissenyant pipelines automatitzats. |
| CA3.2 | Fixa l'objectiu d'extreure valor de les dades orientant el disseny del pipeline. |
| CA3.4 | Desenvolupa sistemes de gestió i processament de grans volums amb eines d'orquestació. |
| CA3.5 | Fa servir habilitats científiques en entorns multidisciplinars per a la qualitat de les dades. |
Continguts del Bloc 5
Un pipeline de dades és la sèrie de passos automatitzats que porten les dades des de la font fins al sistema de destinació en un format útil. Si les bases de dades i els formats de dades son el "dipòsit", els pipelines son les "canonades". Sense pipelines fiables, qualsevol arquitectura de dades és un sistema fragil que depèn de processos manuals.
En aquest bloc s'estudia l'orquestació de pipelines amb Apache Airflow, l'eina d'orquestació de workflows de dades més estesa al sector:
- La diferència conceptual entre ETL (Extract, Transform, Load) i ELT (Extract, Load, Transform), i per qué l'ELT ha guanyat protagonisme amb el núvol
- El panorama d'eines: Apache Airflow, dbt, Azure Data Factory, AWS Glue, Airbyte, Fivetran — cada una per a un cas d'ús diferent
- Arquitectura d'Apache Airflow: Scheduler, Executor, Worker, Webserver, MetaDB. Concepte de DAG (Directed Acyclic Graph)
- Operadors Airflow: PythonOperator, BashOperator, Sensors, BranchPythonOperator
- Bones pràctiques en el disseny de DAGs: idempotència, atomicitat, gestió d'errors, catchup
- Qualitat de dades: les dimensions (completitud, consistència, exactitud, actualitat, unicitat) i les eines per mesurar-les (Great Expectations, dbt tests)
Tot el treball d'aquest bloc és pràctic: es munta Airflow amb Docker Compose i es construeixen DAGs reals que extreuen dades d'APIs públiques, les transformen i les carreguen a una base de dades.
Qüestionari inicial
- Qué és un pipeline de dades i per qué és important automatitzar-lo?
- Quina diferència hi ha entre ETL i ELT? Quin és millor?
- Has sentit parlar d'Apache Airflow? Qué creus que fa?
- Qué és un DAG (Directed Acyclic Graph) i per qué s'usa per modelar pipelines?
- Qué és un Scheduler en el context d'Airflow?
- Quina diferència hi ha entre un pipeline batch i un pipeline en streaming?
- Qué és dbt i per a qué serveix en un entorn analític modern?
- Qué és la qualitat de dades? Quines dimensions de qualitat coneixes?
- Si un pipeline falla a meitat d'execució, qué hauria de passar? Com es gestiona la reexecució?
- Qué és la idempotència en el context d'un pipeline de dades i per qué és important?
- Qué és un cron expression i com s'usa per programar tasques?
Organització dels continguts
-
ETL vs ELT
Diferències conceptuals, evolució cap a l'ELT amb el núvol. Panorama d'eines: Airflow, dbt, ADF, Glue, Airbyte. Criteris de selecció.
-
Apache Airflow
Arquitectura, DAGs, operadors, scheduling, sensors, branching, XComs, bones pràctiques. Instal·lació amb Docker Compose.
-
Qualitat de dades
Dimensions de qualitat, eines de data quality (Great Expectations, dbt tests), mesura i monitoratge de la qualitat en pipelines.
Durada i avaluació
| Element | Valor |
|---|---|
| Hores | 12 hores (4 sessions de 3h) |
| Pes en la qualificació final | 12% del mòdul |
| Pràctica avaluable | PR507405 — Pipeline ETL amb Airflow i Docker |
| Activitats | AC5074/05/01 fins a AC5074/05/04 |
Enfocament d'aquest bloc
Apache Airflow té una corba d'aprenentatge inicial, però un cop enteneu el concepte de DAG i les dependències entre tasques, la lògica de tota l'orquestació es torna natural. Invertiu temps en entendre l'arquitectura abans de posar-vos a escriure codi: un DAG mal dissenyat és pitjor que cap DAG.