Zakariae Jaafari

المشاريعمساند

NYC Taxi Orchestration with Kestra

ETL مجدول بـ Kestra: ملفات TLC الشهرية إلى PostgreSQL عبر COPY ثم MERGE.

نظرة عامة

تدفق Kestra (postgres_taxi_scheduled) ينزّل شهر TLC المختار، ويستخدم PostgreSQL COPY إلى جدول مرحلي، وينشئ مفتاح MD5 حتميًا، ثم يدمج البيانات في yellow_tripdata أو green_tripdata. يشغّل Docker Compose منصة Kestra ومخزن بياناتها الوصفية وPostgreSQL وpgAdmin.

الواجهة

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

المشكلة

يجب إدخال الملفات الشهرية دون تكرار عند إعادة التشغيل، ومخطط الأصفر يختلف عن الأخضر.

الحل التقني

تختار المدخلات نوع التاكسي والفترة بصيغة YYYY-MM، ما يجعل التشغيل اليدوي والمجدول حتميًا. تنشئ المهام المتفرعة الجداول ثم تستخدم COPY وMERGE على unique_row_id. أُعيد التحقق بنجاح من تشغيل بيانات يناير 2021 الصفراء على Kestra 1.1.20، وحُمّل 7,774,773 صفًا إلى PostgreSQL.

ما يوجد في المستودع

  • خادم Kestra مع مخزن بيانات وصفية Postgres
  • COPY مرحلي وMERGE دون تكرار
  • DDL منفصل للأصفر والأخضر
  • مجدول شهري ووسم backfill
  • pgAdmin على المنفذ 8085، قاعدة ny_taxi
  • تشغيل يناير 2021 متحقق منه: SUCCESS و7,774,773 صفًا أصفر