دورهی مدلسازی داده با dbt
dbt for Data Engineers
یادگیری عملی مهندسی تحلیل با dbt روی سیستم محلی: نصب dbt Core، راهاندازی انبار دادهی Postgres در Docker و تبدیل دادههای واقعی سفر از لایهی Staging تا آزمون و Martها. این دوره برای تیمهای سازمانی، بهصورت حضوری یا آنلاین و به زبان فارسی برگزار میشود.
- سطح
- متوسط تا پیشرفته
- مدت دوره
- ۴ روز (۳۲ ساعت)
- درس در ۱۲ بخش
- ۵۶
- شیوهی برگزاری
- حضوری یا آنلاین
آنچه شرکتکنندگان میآموزند
- نصب و اجرای dbt Core روی یک انبار دادهی واقعی Postgres در Docker
- ساخت مدلهای Staging، میانی و Mart که با ref() و source() به هم پیوند خوردهاند
- آزمون و مستندسازی داده با آزمونهای عمومی، اختصاصی و واحد dbt
- ساخت مدلهای افزایشی و Snapshot و زمانبندی dbt با Airflow
کار عملی: یک DAG کامل، آزموده و مستند در dbt برای تبدیل دادههای سفر CityFlow روی Postgres و DuckDB، با استقرار و زمانبندی در Airflow
سرفصل دوره
۱۲ بخش و ۵۶ درس، در ۴ روز آموزشی (۳۲ ساعت، هر روز ۸ ساعت). سرفصل، مدت و تمرینها متناسب با سطح و نیاز تیم شما تنظیم میشود.
- ۱
آشنایی با مهندسی تحلیل
۵ درس- مهندسی تحلیل در واقع چیست
- dbt Core، dbt Cloud و گذار به Fusion
- راهاندازی انبار داده
- اولین مدل
- پروژهی راهنمادار: بارگذاری دادههای سفر CityFlow در انبار داده
- ۲
مدلها، DAG و Materialization
۵ درس- ref() و source(): ساخت گراف وابستگی
- انواع Materialization: View، Table و Ephemeral
- DAG، فرمان dbt build و اجرای انتخابی
- انبار دادهی دوم با همان SQL
- پروژهی راهنمادار: بازسازی اولین مدل CityFlow بهصورت یک DAG واقعی
- ۳
منابع داده و مدلهای Staging
۵ درس- تعریف منابع داده
- تازگی دادههای منبع
- لایهی Staging در عمل
- Staging دادههای سفر CityFlow
- پروژهی راهنمادار: یک لایهی Staging کامل
- ۴
آزمون داده
۵ درس- چرا یک کوئری SQL را آزمون کنیم؟
- چهار آزمون عمومی داخلی
- آزمونهای اختصاصی
- dbt_utils و مدیریت بستهها
- پروژهی راهنمادار: لایهی Staging آزموده
- ۵
مدلهای میانی و Martها
۵ درس- لایهی میانی
- مدلسازی جدولهای واقعیت و بُعد در dbt
- ساخت بُعد منطقهی CityFlow
- ساخت جدول واقعیت سفرهای CityFlow
- پروژهی راهنمادار: گزارش منطقه–ساعت در dbt
- ۶
Jinja و ماکروها
۵ درس- Jinja در SQL
- کنترل جریان با For و If
- نوشتن ماکروی اختصاصی
- ماکروهای dbt_utils
- پروژهی راهنمادار: حذف تکرار از مدلهای CityFlow
- ۷
مدلهای افزایشی
۵ درس- چرا بازسازی کامل در مقیاس بزرگ جواب نمیدهد
- Materialization افزایشی
- راهبردهای افزایشی
- unique_key و دادههای دیررس
- پروژهی راهنمادار: جدول واقعیت سفرهای CityFlow بهصورت افزایشی
- ۸
Snapshot و ابعاد با تغییر کند
۵ درس- مسئلهای که Snapshot حل میکند
- Snapshot در dbt با نگارش جدید
- راهبرد زمانمحور در برابر بررسیمحور
- کوئری روی وضعیت تاریخی
- پروژهی راهنمادار: Snapshot از بُعد منطقهی CityFlow
- ۹
مستندسازی و سایت مستندات dbt
۵ درس- مستندسازی مدلها و ستونها
- فرمانهای dbt docs generate و dbt docs serve
- خواندن گراف تبارنامهی داده
- Exposureها
- پروژهی راهنمادار: پوشش کامل مستندات
- ۱۰
آزمون واحد و آزمون پیشرفته
۵ درس- آزمون داده در برابر آزمون واحد
- نوشتن آزمون واحد در dbt
- آزمون حالتهای مرزی بدون دادهی واقعی
- ترتیب کامل اجرای dbt build
- پروژهی راهنمادار: آزمون واحد یک ماکروی واقعی CityFlow
- ۱۱
استقرار، CI و الگوهای عملیاتی
۵ درس- محیطها و Targetها
- انتخاب مبتنی بر وضعیت
- dbt در CI
- زمانبندی dbt با Airflow
- پروژهی راهنمادار: بهروزرسانی زمانبندیشدهی CityFlow
- ۱۲
پروژهی پایانی
۱ درس- پروژهی پایانی: انبار دادهی تحلیلی شرکت CityFlow
شیوههای برگزاری
حضوری در محل سازمان
برگزاری کلاس در سازمان شما، با تمرین روی ابزارها و نمونههایی نزدیک به کار روزانهی تیم. زمان و مکان با هماهنگی تعیین میشود.
آنلاین و زنده
کلاسهای تعاملی آنلاین با پرسش و پاسخ، تمرین گروهی و بازخورد مستقیم؛ مناسب تیمهایی که در چند شهر یا دورکار هستند.
کارگاه کوتاه یا دورهی جامع
از کارگاه یکروزه برای یک موضوع مشخص تا دورهی چندماهه برای آمادهکردن تیم در یک مسیر شغلی کامل.
دورههای مرتبط
همهی دورههابرگزاری دورهی مدلسازی داده با dbt در سازمان شما
تعداد شرکتکنندگان، سطح تیم و زمان مدنظر را بفرستید تا برای نیازسنجی و هماهنگی برنامهی دوره با شما تماس گرفته شود.