Salta el contingut

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

  1. Qué és un pipeline de dades i per qué és important automatitzar-lo?
  2. Quina diferència hi ha entre ETL i ELT? Quin és millor?
  3. Has sentit parlar d'Apache Airflow? Qué creus que fa?
  4. Qué és un DAG (Directed Acyclic Graph) i per qué s'usa per modelar pipelines?
  5. Qué és un Scheduler en el context d'Airflow?
  6. Quina diferència hi ha entre un pipeline batch i un pipeline en streaming?
  7. Qué és dbt i per a qué serveix en un entorn analític modern?
  8. Qué és la qualitat de dades? Quines dimensions de qualitat coneixes?
  9. Si un pipeline falla a meitat d'execució, qué hauria de passar? Com es gestiona la reexecució?
  10. Qué és la idempotència en el context d'un pipeline de dades i per qué és important?
  11. 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ó.

    ETL vs ELT

  • Apache Airflow


    Arquitectura, DAGs, operadors, scheduling, sensors, branching, XComs, bones pràctiques. Instal·lació amb Docker Compose.

    Apache Airflow

  • Qualitat de dades


    Dimensions de qualitat, eines de data quality (Great Expectations, dbt tests), mesura i monitoratge de la qualitat en pipelines.

    Qualitat de dades

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.