یادداشت های مطالعه 2.2.3: تنظیم خط لوله ETL با Kestra و Postgres

این یادداشت مطالعه مراحل اصلی تنظیم خط لوله ETL (عصاره ، تبدیل ، بار) را با استفاده از کسترا با پس از برای داده های تاکسی نیویورک. مجموعه داده شامل اطلاعات برای هر دو است زرد وت سبز تاکسی از 2019 تا ژوئیه 2021بشر گردش کار برای خودکار سازی پردازش داده های ماهانه طراحی شده است.
1. بررسی اجمالی گردش کار Kestra Etl
خط لوله از رویکرد ETL ساختاری پیروی می کند:
- استخراج کردن: داده های خام را از GitHub بازیابی کنید.
- تغییر شکل: پردازش و تمیز کردن داده ها.
- بار: داده های پردازش شده را در a ذخیره کنید پس از بانک اطلاعاتی
گردش کار با پارامترهای پویا طراحی شده است تا کاربران بتوانند ماههای خاص و انواع تاکسی را به طور کارآمد پردازش کنند.
2. تنظیم پارامترهای ورودی
برای انعطاف پذیری گردش کار ، پارامترهای ورودی معرفی می شوند:
- نوع تاکسی: کاربران می توانند بین زرد یا سبز تاکسی ها
- سال و ماه: کاربران می توانند یک مورد خاص را مشخص کنند سال وت ماه برای پردازش داده ها بر این اساس.
این تضمین می کند که گردش کار می تواند نام های پرونده و نام جدول پایگاه داده را بر اساس پارامترهای انتخاب شده تنظیم کند.
3. استخراج داده ها از GitHub
- گردش کار از a استفاده می کند فرمان به بارگیری و از حالت فشرده پرونده های داده به طور مستقیم از GitHub.
-
نمونه ای از دستور مورد استفاده:
wget -O data.zip "
" && unzip data.zip -d /tmp/ -
پرونده های استخراج شده در یک فهرست موقت برای پردازش بیشتر ذخیره می شوند.
4. تنظیم پایگاه داده Postgres
4.1 ایجاد نمونه Postgres
- پایگاه داده Postgres با استفاده از اسکلهبشر
- جزئیات اتصال برای تعامل KESTRA با پایگاه داده تنظیم شده است.
4.2 ایجاد جداول پایگاه داده
- نمایش داده شدگان SQL به جداول ایجاد کنید برای زرد وت سبز داده های تاکسی.
- شناسه های منحصر به فرد با استفاده از تولید می شوند MD5 برای جلوگیری از سوابق تکراری.
-
نمونه ای از پرس و جو SQL:
CREATE TABLE IF NOT EXISTS green_taxi ( id SERIAL PRIMARY KEY, pickup_datetime TIMESTAMP, dropoff_datetime TIMESTAMP, passenger_count INT, trip_distance FLOAT, fare_amount FLOAT, hash_id TEXT UNIQUE );
5. تبدیل و بارگیری داده ها
- داده های استخراج شده برای اطمینان از مطابقت با طرح مورد انتظار پردازش می شوند.
- گردش کار بین زرد وت سبز تاکسی ها ، پردازش آنها به طور جداگانه.
- داده ها درج شده اند میزهای Postgres، اطمینان از اضافه شدن هیچ سوابق تکراری.
-
مثال یک پرس و جو را وارد کنید:
INSERT INTO green_taxi (pickup_datetime, dropoff_datetime, passenger_count, trip_distance, fare_amount, hash_id) SELECT pickup_datetime, dropoff_datetime, passenger_count, trip_distance, fare_amount, MD5(CONCAT(pickup_datetime, dropoff_datetime, passenger_count)) AS hash_id FROM staging_green_taxi;
6. بهینه سازی خط لوله
6.1 پاکسازی پرونده های خروجی اجرای
- برای مدیریت کارآمد ذخیره سازی ، الف کار پاک کردن برای حذف پرونده های خروجی غیر ضروری اضافه می شود.
- این تضمین می کند که فقط داده های ضروری ذخیره می شوند.
6.2 دست زدن به مجموعه داده های بزرگ
- از آنجا که مجموعه داده های تاکسی زرد به طور قابل توجهی بزرگتر است ، راه حل های ابری ممکن است برای عملکرد بهتر مورد نیاز باشد.
- استفاده از ذخیره سازی ابری (به عنوان مثال ، AWS S3 ، GCP ذخیره سازی) برای کارآمد با داده های در مقیاس بزرگ توصیه می شود.
7. تنظیمات نهایی و آزمایش
- گردش کار برای متفاوت آزمایش می شود ماه وت انواع تاکسی برای اطمینان از صحت
- این پایگاه داده برای تأیید درج موفقیت آمیز داده ها بررسی می شود.
- تنظیماتی برای بهبود عملکرد و انعطاف پذیری خط لوله انجام شده است.
پایان
این یادداشت مطالعه فرایند تنظیم خط لوله ETL قوی را با استفاده از آن تشریح می کند کسترا وت پس از برای پردازش داده های تاکسی نیویورکبشر با استفاده از پارامترهای پویا ، اسکریپت های پوسته ، تحولات SQL و بهینه سازی ها ، خط لوله به طور موثر هر دو را کنترل می کند زرد وت سبز داده های تاکسی ضمن اطمینان از مقیاس پذیری و انعطاف پذیری.