المشاريعمساند
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.
الواجهة


المشكلة
يجب إدخال الملفات الشهرية دون تكرار عند إعادة التشغيل، ومخطط الأصفر يختلف عن الأخضر.
الحل التقني
تختار المدخلات نوع التاكسي والفترة بصيغة 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 صفًا أصفر