https://github.com/0xromjobert/databird_airflow_correction
Correction des exercices du module Airflow + DBT de la formation Analytics Engineering
https://github.com/0xromjobert/databird_airflow_correction
Last synced: 25 days ago
JSON representation
Correction des exercices du module Airflow + DBT de la formation Analytics Engineering
- Host: GitHub
- URL: https://github.com/0xromjobert/databird_airflow_correction
- Owner: 0xromjobert
- Created: 2025-03-20T17:18:33.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-03-21T16:48:11.000Z (about 1 month ago)
- Last Synced: 2025-03-31T18:46:57.552Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Airflow + dbt + BigQuery Pipeline
## Description
Ce projet montre comment déployer un pipeline **Airflow + dbt** sous Docker pour orchestrer des transformations de données sur **BigQuery**, à partir d’un dataset de type Bike Store.
L'objectif est de construire un workflow ELT complet en environnement conteneurisé et de l’automatiser avec **Airflow**.
## Technologies utilisées
- **Docker** : pour la conteneurisation.
- **Apache Airflow** : pour l'orchestration de workflows.
- **dbt (Data Build Tool)** : pour la transformation des données.
- **BigQuery** : entrepôt de données cloud.
- **GCP Service Account** : pour l’authentification sécurisée.## Fonctionnalités
- Conteneur Docker unique intégrant Airflow et dbt.
- Synchronisation des répertoires `dags/` et `dbt/` via volumes Docker.
- Pipeline ELT déclenché par Airflow via un **BashOperator**.
- Création automatisée de vues et tables dans BigQuery via dbt.## Structure du projet
```
/projet_final
├── dags/ # DAGs Airflow
│ └── dbt_pipeline_dag.py
├── dbt/ # Projet dbt (modèles, sources)
│ ├── models/
│ ├── dbt_project.yml
│ └── .dbt_profiles/profiles.yml
├── Dockerfile # Dockerfile Airflow + dbt
├── requirements.txt # Dépendances Python
├── .env # Variables d'environnement (ex : credentials GCP)
```## Instructions
1. Construire l'image Docker
```bash
docker build -t dbt_pipeline .
```2. Lancer le conteneur
```bash
docker run -d --name airflow-standalone \
--env-file .env \
-p 8080:8080 \
-v ./dags:/opt/airflow/dags \
-v ./dbt:/opt/airflow/dbt dbt_pipeline
```3. Accéder à l'interface Airflow : http://localhost:8080
4. Déclencher le DAG `dbt_pipeline_dag` pour lancer le `dbt run`.
## Objectifs pédagogiques
- Automatiser l’exécution de modèles dbt via Airflow.
- Apprendre à configurer un environnement ELT complet sous Docker.
- Intégrer Airflow et dbt pour orchestrer des pipelines vers BigQuery.## Pré-requis
* Docker Desktop ou Docker Engine installé
* Compte Google Cloud Platform avec un dataset BigQuery prêt à l’emploi
* Service Account JSON avec droits sur BigQuery (au moins BigQuery Admin + Storage Viewer)
* dbt Cloud ou dbt Core installé en local pour debug éventuel (facultatif)
* Accès à un terminal compatible Unix (Linux/macOS ou WSL pour Windows)