Tous les projets

Projet · Analytics engineering

Analytics Airbnb, façon Modern Data Stack

Analytics engineering de bout en bout : S3 → Snowflake → dbt, architecture Medallion, historisation SCD Type 2 et modèles testés.

Organisation
Airbnb data · Projet académique
Rôle
Data / analytics engineer
Période
Projet de Master
  • 3couches Medallion
  • SCD2historisation via snapshots dbt
  • 4types de matérialisation

Architecture

  1. 01AWS S3fichiers bruts
  2. 02Snowflake rawexternal stage
  3. 03dbt silvernettoyé · typé · testé
  4. 04dbt goldétoile · OBT
  5. 05BIprêt pour l’analyse

Les snapshots dbt capturent chaque changement des entités à évolution lente (SCD Type 2).

Contexte

Les données publiques Airbnb sont désordonnées, évoluent dans le temps et sont assez volumineuses pour que les raccourcis se paient — un bon terrain pour de l’analytics engineering de niveau production.

Le défi

Construire un entrepôt auquel un analyste peut se fier : ingestion sécurisée, couches claires, historique des changements, et des tests qui échouent bruyamment avant qu’une donnée fausse n’atteigne un dashboard.

Ce que j’ai construit

  • Ingestion sécurisée d’AWS S3 vers Snowflake via storage integrations et external stages, avec des droits IAM restreints.
  • Une architecture Medallion : raw → silver → gold.
  • Des modèles dbt modulaires (matérialisations incremental, ephemeral, table et view) et des macros Jinja paramétrées.
  • Une modélisation dimensionnelle pour la BI : schéma en étoile et One Big Table.
  • Un historique des changements en SCD Type 2 via les snapshots dbt.
  • Des tests dbt génériques et singuliers (unicité, non-null, intégrité référentielle) avec niveaux de sévérité, et des environnements gérés par un workflow Git.

Résultats

  • 01Un entrepôt en couches où chaque modèle remonte à sa source.
  • 02Un historique daté : l’état de n’importe quel enregistrement à n’importe quelle date.
  • 03Des tests avec niveaux de sévérité — avertissements ou échecs bloquants.

Stack

  • dbt Core
  • Snowflake
  • AWS S3
  • AWS IAM
  • Jinja
  • SQL
  • Git
Lire : SCD Type 2 avec les snapshots dbt, expliqué

Un problème similaire ?

Parlons-en — que vous recrutiez ou que vous cherchiez un freelance.

Discuter sur WhatsApp