Zakariae Jaafari

ProjetsComplémentaire

NYC Taxi Orchestration with Kestra

ETL Kestra planifié : CSV TLC mensuels vers PostgreSQL, COPY en staging puis MERGE.

Vue d'ensemble

Flux Kestra (postgres_taxi_scheduled, namespace zoomcamp) : téléchargement du mois TLC choisi, PostgreSQL COPY vers une table de staging, clé MD5 déterministe, puis MERGE vers yellow_tripdata ou green_tripdata. Docker Compose lance Kestra, son stockage de métadonnées, PostgreSQL et pgAdmin. Module orchestration du Zoomcamp.

Interface

Kestra execution overview showing the January 2021 taxi pipeline completed successfully
Kestra topology for the successful PostgreSQL staging and merge execution

Problème

Les fichiers mensuels doivent arriver dans PostgreSQL sans dupliquer un mois relancé, et les schémas yellow / green diffèrent.

Solution technique

Les entrées choisissent le type de taxi et la période YYYY-MM, ce qui rend les exécutions manuelles et planifiées déterministes. Les branches créent les tables typées, utilisent COPY vers staging, puis MERGE sur unique_row_id. Une exécution yellow de janvier 2021 a été revérifiée avec succès sur Kestra 1.1.20 et a chargé 7 774 773 lignes dans PostgreSQL.

Ce que contient le dépôt

  • Serveur Kestra standalone, métadonnées Postgres
  • COPY staging + MERGE sans doublons
  • DDL yellow et green séparés
  • Déclencheurs cron mensuels et label backfill
  • pgAdmin sur le port 8085, base ny_taxi
  • Exécution janvier 2021 vérifiée : SUCCESS, 7 774 773 lignes yellow