بوت‌کمپ‌های برنامه‌نویسی دانشکار

شروع یادگیری
برنامه‌نویسی و ITعلم داده

۱۵ نمونه پروژه مهندسی داده از مبتدی تا پیشرفته

چه قصد داشته باشید مهارت‌های خود را در طراحی پایپ‌لاین‌های داده تقویت کنید و چه بخواهید برای ورود به بازار کار مهندسی داده یک نمونه‌کار حرفه‌ای بسازید، انجام پروژه‌های عملی یکی از بهترین روش‌های یادگیری است. در ادامه بیش از ۴۵ پروژه مهندسی داده را همراه با کد منبع به شما معرفی می‌کنیم. این پروژه‌ها موضوعاتی مانند ساخت پایپ‌لاین‌های ETL، پردازش دسته‌ای، پردازش جریانی لحظه‌ای، انبار داده و کار با پلتفرم‌های ابری AWS، Azure و GCP را پوشش می‌دهند. تمرین‌ها بر اساس میزان پیچیدگی در سه سطح مبتدی، متوسط و پیشرفته دسته‌بندی شده‌اند و برای هر پروژه، ابزارهای مورد استفاده و مهارت‌هایی که در طول اجرای آن یاد می‌گیرید نیز توضیح داده شده است. همراه ما باشید.

نمونه پروژه مهندسی داده برای سطح مبتدی

پروژه‌های مهندسی داده در سطح مبتدی به شما کمک می‌کنند مفاهیم پایه این حوزه را به‌صورت عملی یاد بگیرید و با فرایند انتقال داده از منبع به مقصد آشنا شوید. پس از انجام این پروژه‌ها می‌توانید داده‌ها را دریافت، پاک‌سازی و تبدیل کنید، آن‌ها را در پایگاه داده، انبار داده یا فضای ذخیره‌سازی ابری قرار دهید و خروجی‌های آماده برای تحلیل و مصورسازی بسازید. برای اجرای پروژه‌های مهندسی داده سطح مبتدی معمولا به ابزارهایی مانند پایتون، SQL، dbt و سرویس‌های پایه پلتفرم‌های ابری AWS، Azure و GCP نیاز دارید. برخی از این تمرین‌ها همچنین شما را با مفاهیم اولیه ETL، پردازش دسته‌ای، مدل‌سازی داده و ساخت پایپ‌لاین‌های ساده آشنا می‌کنند. در ادامه با پروژه‌های مهندسی داده سطح مبتدی آشنا می‌شویم.

۱. پروژه ساخت پایپ‌لاین ETL

داده‌های فروش نقش مهمی در تصمیم‌گیری، شناخت بهتر مشتریان و بهبود عملکرد آینده سازمان دارند. مدیران فروش باید بدانند چگونه داده‌های جمع‌آوری‌شده را تحلیل کنند و از نتایج آن برای بهبود استراتژی‌های فروش استفاده کنند.

این پروژه مجموعه‌ای از مهارت‌های ضروری مهندسی داده را پوشش می‌دهد. در این تمرین، داده‌های فروش با استفاده از ابزارهای پرکاربرد حوزه کلان‌داده مانند Amazon S3، Amazon EMR و Tableau پردازش و تحلیل می‌شوند تا شاخص‌ها و معیارهای مهم از داده‌های موجود استخراج شوند. در پایان، داده‌های پاک‌سازی و تبدیل‌شده با استفاده از Tableau در قالب نمودارهای مختلف نمایش داده می‌شوند. شاخص‌ها و نمودارهای این پروژه عبارت‌اند از:

  • مقایسه تعداد واحدهای فروخته‌شده و هزینه هر واحد در مناطق مختلف
  • مجموع درآمد و هزینه به تفکیک کشور
  • تعداد واحدهای فروخته‌شده در هر کشور
  • مقایسه درآمد و سود به تفکیک منطقه و کانال فروش

ساخت پایپ‌لاین ETL روی کلاستر AWS EMR

ابتدا داده‌های دانلودشده را در Amazon S3 بارگذاری کنید و سپس یک کلاستر EMR شامل سرویس Hive بسازید. در ادامه، یک جدول خارجی در Hive ایجاد کرده و عملیات پاک‌سازی و تبدیل داده را انجام دهید. داده‌های پردازش‌شده باید در یک جدول مقصد ذخیره شوند. از این داده‌ها برای ایجاد شاخص‌های کلیدی عملکرد یا KPI استفاده می‌شود و نتایج با کمک Tableau به‌صورت نمودار و داشبورد نمایش داده خواهند شد.

فناوری‌های مورد استفادهکد منبع
Apache HDFS، Apache Hive، Tableau و Amazon S3ETL Pipeline on AWS EMR Cluster

مهارت‌هایی که در این پروژه یاد می‌گیرید عبارت‌اند از:

  • ساخت جدول‌های خارجی مبتنی بر Hive در AWS EMR
  • پاک‌سازی و تبدیل داده‌ها برای انجام تحلیل
  • نمایش شاخص‌ها و معیارهای مهم با استفاده از Tableau
  • تحلیل داده‌های فروش و استخراج بینش‌های کاربردی
etl pipline

۲. تحلیل داده‌های Yelp

مجموعه‌داده Yelp شامل اطلاعات مربوط به کسب‌وکارهای Yelp، نظرات کاربران و سایر داده‌های عمومی است که برای اهداف شخصی، آموزشی و دانشگاهی در دسترس قرار گرفته‌اند. این مجموعه‌داده به‌صورت فایل‌های JSON ارائه می‌شود و می‌توانید از آن برای یادگیری پردازش زبان طبیعی روی نمونه‌ای از داده‌های واقعی استفاده کنید. این مجموعه‌داده شامل ۶٬۶۸۵٬۹۰۰ نظر، ۱۹۲٬۶۰۹ کسب‌وکار و ۲۰۰ هزار تصویر از ۱۰ منطقه شهری است. این پروژه مبتنی بر Azure به شما کمک می‌کند فرایند ETL را درک کنید؛ یعنی یاد بگیرید چگونه مجموعه‌داده را دریافت، پاک‌سازی و تبدیل کنید تا به بینش‌های تجاری برسید. همچنین می‌توانید سرویس‌های Azure Databricks، Data Factory و Storage را بررسی کنید.

این پروژه واقعی مهندسی داده سه مرحله دارد. ورود داده: در این مرحله، داده‌ها را از Yelp دریافت کرده و با استفاده از Data Factory به Azure Data Lake منتقل می‌کنید. مرحله دوم آماده‌سازی داده است. در این مرحله، پاک‌سازی و تحلیل داده‌ با استفاده از Databricks انجام می‌شود. مرحله نهایی انتشار است. در این مرحله، بینش‌هایی که از داده‌های خام Yelp به دست آورده‌ایم با استفاده از Databricks مصورسازی می‌شوند.

فناوری‌های مورد استفادهکد منبع
Azure Data Lake، Azure Data Factory، DatabricksAnalyse Yelp Dataset with Spark & Parquet Format on Azure Databricks

مهارت‌هایی که یاد می‌گیرید:

  • ساخت پایپ‌لاین ETL و ورود داده با Azure Data Factory
  • پاک‌سازی و تبدیل داده با استفاده از Databricks
  • استخراج بینش‌های تجاری از داده‌های Yelp
  • مصورسازی بینش‌ها با ابزارهای Databricks

۳. حاکمیت داده

سازمانی که قصد دارد از داده به‌عنوان یک منبع استفاده کند، باید عملیات مختلفی مانند پاک‌سازی، ایمن‌سازی و تبدیل داده را انجام دهد. بااین‌حال، این پرسش مطرح می‌شود که سازمان چگونه می‌تواند همین مراحل را روی انواع مختلف داده اجرا کند. پاسخ، طراحی سیاست‌ها و فرایندهای استاندارد برای حفظ یکپارچگی و هماهنگی است.

مایکروسافت Azure Purview را معرفی کرده است؛ ابزاری برای حاکمیت داده که به کاربران امکان می‌دهد داده‌ها را بهتر مدیریت کنند. در این پروژه، به‌عنوان یک فرد مبتدی یاد می‌گیرید چگونه از این ابزار استفاده کنید، داده‌های واردشده را مدیریت کنید و با به‌کارگیری ابزارهای تحلیل داده به نتایج و بینش‌های کاربردی برسید.

فناوری‌های مورد استفادهکد منبع
Azure Logic Apps، Azure Storage Account، Azure Data Factory، Azure SQL Databases، DBeaver، Azure PurviewGetting Started with Azure Purview for Data Governance

مهارت‌هایی که یاد می‌گیرید:

  • پیاده‌سازی حاکمیت داده با استفاده از Azure Purview
  • طراحی سیاست‌های پاک‌سازی و مدیریت داده
  • مدیریت پایگاه‌های داده Azure SQL و پایپ‌لاین‌ها
  • استفاده از Logic Apps برای خودکارسازی گردش‌های کاری

۴. پروژه dbt و Snowflake برای تسلط بر مفاهیم پایه dbt

dbt به یکی از دانش‌های ضروری برای مهندسان تحلیل داده و مهندسان داده تبدیل شده است. این پروژه مفاهیم پایه dbt را که معمولا در مصاحبه‌های شغلی از شما انتظار می‌رود بدانید، به‌صورت جامع پوشش می‌دهد.

از طریق یک پروژه عملی که کل فرایند کاری را پوشش می‌دهد، بر dbt مسلط شوید. dbt را روی Windows و EC2 نصب کنید تا با تفاوت الگوهای استقرار محلی و محیط عملیاتی آشنا شوید. یک پروژه dbt را از صفر بسازید و ساختار پوشه‌های models، tests، macros و seeds را درک کنید. فایل profiles.yml را برای اتصال امن به Snowflake پیکربندی کنید. مدل‌های Staging را برای پاک‌سازی داده‌های خام و مدل‌های Mart را برای پاسخ‌دادن به پرسش‌های کسب‌وکار بسازید. با تمام انواع Materialization آشنا شوید. Viewها برای ساختارهای سبک، Tableها برای اجرای سریع Query، مدل‌های Incremental برای به‌روزرسانی کارآمد و مدل‌های Ephemeral برای ساخت CTEهای قابل استفاده مجدد. تست‌های جامعی پیاده‌سازی کنید؛ از تست‌های داخلی برای بررسی یکتابودن و خالی‌نبودن مقادیر گرفته تا تست‌های سفارشی برای منطق کسب‌وکار. dbt Core با میزبانی شخصی را با dbt Cloud مدیریت‌شده مقایسه کنید تا بدانید هرکدام در چه شرایطی مناسب‌تر هستند.

فناوری‌های مورد استفادهکد منبع
dbt Core، Snowflake، Python، AWS EC2، SQLdbt Snowflake Project to Master dbt Fundamentals
 پروژه dbt و Snowflake برای تسلط بر مفاهیم پایه dbt

۵. پروژه انتقال داده‌ه‌های دیوار به PostgreSQL

دیوار اطلاعات مربوط به شهرها و مناطق مختلف ایران را از طریق یک API عمومی ارائه می‌کند. در این پروژه، داده‌های شهرها از API دیوار دریافت می‌شوند، پاسخ JSON با استفاده از Pandas به یک ساختار جدولی تبدیل می‌شود و اطلاعاتی مانند نام شهر، شناسه، نام انگلیسی، طول و عرض جغرافیایی در پایگاه داده PostgreSQL ذخیره می‌شوند. این پروژه یک نمونه ساده و کامل از فرایند ETL است و برای افرادی مناسب است که به‌تازگی یادگیری مهندسی داده را شروع کرده‌اند.

فناوری‌های مورد استفادهکد منبع
Python، Pandas، Requests، PostgreSQL، Psycopg2Divar API to PostgreSQL

مهارت‌هایی که در این پروژه یاد خواهید گرفت عبارت‌اند از:

  • دریافت اطلاعات از API و کار با داده‌های JSON
  • تبدیل داده‌های خام به ساختار جدولی با Pandas
  • طراحی جدول و ذخیره اطلاعات در PostgreSQL
  • ساخت یک پایپ‌لاین ساده استخراج، تبدیل و بارگذاری داده
  • مدیریت تنظیمات اتصال به پایگاه داده با فایل‌های محیطی

شرکت در بوت‌کمپ مهندسی داده به شما کمک می‌کند راحت تمرین‌های نمونه پروژه مهندسی داده را انجام دهید.

نمونه پروژه مهندسی داده برای سطح متوسط

پروژه‌های مهندسی داده سطح متوسط کاربردی‌تر هستند و شباهت بیشتری به پایپ‌لاین‌های مورد استفاده در شرکت‌ها دارند. برای انجام این پروژه‌ها با مفاهیمی مانند طراحی پایپ‌لاین‌های ETL و ELT، ارکستریشن گردش‌های کاری، مدل‌سازی داده، پردازش دسته‌ای و پردازش جریانی آشنا خواهید شد. همچنین از ابزارهایی مانند Apache Airflow، dbt، Apache Spark، Kafka، Snowflake و سرویس‌های ابری AWS، Azure و GCP استفاده می‌کنید. هدف این پروژه‌ها ساخت پایپ‌لاین‌های کامل برای دریافت، پاک‌سازی، تبدیل، ذخیره‌سازی و آماده‌سازی داده‌ها برای تحلیل و تصمیم‌گیری است. پروژه‌های مهندسی داده برای سطح متوسط عبارت‌اند از:

۶. ساخت پایپ‌لاین ETL در AWS با پایتون روی داده‌های یوتیوب

یوتیوب هر روز حجم بسیار زیادی از داده‌های ترند تولید می‌کند و به همین دلیل، این داده‌ها برای یادگیری الگوهای ETL در مقیاس بزرگ مناسب هستند. این پروژه ساخت یک پایپ‌لاین بدون سرور در AWS را پوشش می‌دهد که آمار ویدیوها و معیارهای مربوط به ترندها را پردازش می‌کند.

یک پایپ‌لاین ETL بسازید که داده‌های ترند یوتیوب را در قالب‌های CSV و JSON دریافت کند، آن‌ها را طی چند مرحله تبدیل پردازش کند و مجموعه‌داده‌های آماده تحلیل ارائه دهد. داده‌های خام را در S3 ذخیره کنید، از Lambda برای تبدیل فرمت‌ها استفاده کنید و Jobهای ETL سرویس Glue را برای انجام عملیات Join و Aggregation اجرا کنید. داده‌ها را با Glue Crawler فهرست‌بندی کنید، با Athena روی آن‌ها Query بزنید و روندها را در QuickSight مصورسازی کنید.

فناوری‌های مورد استفادهکد منبع
Python، AWS S3، AWS Lambda، AWS Glue، AWS Athena، AWS QuickSightBuild an AWS ETL Data Pipeline in Python on YouTube Data

مهارت‌هایی که در طول این پروژه مهندسی داده یاد می‌گیرید عبارت‌اند از:

  • معماری ETL بدون سرور در AWS
  • پردازش داده‌ها در چند فرمت مختلف JSON، CSV و Parquet
  • طراحی ناحیه‌های مختلف دریاچه داده شامل داده‌های خام، پردازش‌شده و پالایش‌شده
  • فهرست‌بندی خودکار داده‌ها با Glue Crawler

۷. ساخت پایپ‌لاین ETL با dbt، Snowflake و Airflow

ترکیب dbt، Snowflake و Airflow به‌طور گسترده در مهندسی تحلیل داده استفاده می‌شود. این پروژه گردش کار مدرن ELT را آموزش می‌دهد که در آن تبدیل داده‌ها داخل انبار داده انجام می‌شود.

یک پایپ‌لاین تحلیلی ایجاد کنید که در آن Airflow فرایندهای تبدیل dbt را در Snowflake ارکستره کند. Sensorهای مربوط به S3 را برای شناسایی داده‌های جدید و اجرای خودکار dbt تنظیم کنید. مدل‌های dbt را در لایه‌های Staging، Intermediate و Mart سازمان‌دهی کنید. تست‌های dbt را برای بررسی کیفیت داده پیاده‌سازی کرده و اعلان‌های Slack را برای مانیتورینگ پایپ‌لاین اضافه کنید.

فناوری‌های مورد استفادهکد منبع
dbt، Snowflake، Apache Airflow، AWS S3، AWS EC2، SlackBuild an ETL Pipeline with dbt, Snowflake and Airflow

مهارت‌هایی که هنگام انجام این پروژه یاد می‌گیرید:

  • سازمان‌دهی و لایه‌بندی مدل‌های dbt
  • توسعه DAGهای Airflow با استفاده از Sensorها
  • آزمایش کیفیت داده با dbt
  • هشداردهی و مانیتورینگ پایپ‌لاین
ساخت پایپ‌لاین ETL با dbt، Snowflake و Airflow

۸. ساخت داشبورد لحظه‌ای با Spark، Grafana و InfluxDB

داشبوردهای لحظه‌ای امکان مشاهده فوری شاخص‌های کسب‌وکار را فراهم می‌کنند. این پروژه به شما آموزش می‌دهد چگونه یک مجموعه ابزار پایش‌پذیری برای مانیتورینگ و تحلیل بسازید.

یک داشبورد تحلیلی برای تجارت الکترونیک ایجاد کنید که رویدادهای کاربران را به‌صورت لحظه‌ای پردازش کند. داده‌های جریان کلیک شامل بازدید صفحات و خریدها را شبیه‌سازی کنید. داده‌ها را از طریق Kafka دریافت کنید و با Spark Streaming پردازش کنید تا معیارهایی مانند تعداد سفارش در دقیقه و درآمد به تفکیک منطقه محاسبه شوند. داده‌ها را در InfluxDB که یک پایگاه داده سری زمانی است ذخیره کنید و با استفاده از داشبوردهای Grafana نمایش دهید. پروژه را با Docker Compose مستقر کنید.

فناوری‌های مورد استفادهکد منبع
Apache Spark Streaming، Apache Kafka، InfluxDB، Grafana، Docker، PythonBuild a Real-Time Dashboard with Spark, Grafana, and InfluxDB

مهارت‌هایی که به دست می‌آورید عبارت‌اند از:

  • توسعه Jobهای Spark Streaming
  • طراحی پایگاه داده سری زمانی
  • ساخت داشبورد با Grafana
  • تجمیع معیارها به‌صورت لحظه‌ای

۹. ساخت پایپ‌لاین جریانی با dbt، Snowflake و Kinesis

ترکیب dbt با منابع داده جریانی، امکان انجام تبدیل‌های مبتنی بر SQL را روی داده‌های بلادرنگ فراهم می‌کند. این پروژه نحوه پیاده‌سازی این الگو را نشان می‌دهد.

یک پایپ‌لاین تحلیلی برای بازار سهام ایجاد کنید. با استفاده از پایتون داده‌های زنده را دریافت کرده و آن‌ها را به Kinesis Firehose ارسال کنید تا در S3 ذخیره شوند. جدول‌های خارجی Snowflake را برای کوئری گرفتن از داده‌های موجود در S3 پیکربندی کنید. dbt Cloud را به گیت‌هاب متصل کرده و برای تبدیل داده‌ها تنظیم کنید. مدل‌های Staging، Intermediate و Mart را بسازید. از تگ‌های dbt برای سازمان‌دهی مدل‌های لحظه‌ای و دسته‌ای استفاده کنید.

فناوری‌های مورد استفادهکد منبع
dbt Cloud، Snowflake، AWS Kinesis Firehose، AWS S3، Python، GitHubBuild a Streaming Pipeline with dbt, Snowflake and Kinesis

با انجام این پروژه مهارت‌های زیر را یاد می‌گیرید:

  • یکپارچه‌سازی داده‌های جریانی با انبار داده
  • پیکربندی dbt Cloud
  • ساخت جدول‌های خارجی در Snowflake
  • طراحی معماری ترکیبی پردازش دسته‌ای و جریانی

۱۰. جمع‌آوری روزانه قیمت موبایل از دیجی‌کالا

در این پروژه، اطلاعات و قیمت گوشی‌های موبایل از API دیجی‌کالا دریافت می‌شوند، داده‌های تو‌در‌توی JSON به یک مجموعه‌داده ساختاریافته تبدیل می‌شوند و در PostgreSQL ذخیره خواهند شد. Apache Airflow اجرای پایپ‌لاین را به‌صورت روزانه زمان‌بندی می‌کند و وظایفی مانند نظارت بر اجرا، مدیریت تلاش مجدد و ثبت تاریخچه اجرای تسک‌ها را بر عهده دارد. داده‌های جدید به رکوردهای قبلی اضافه می‌شوند و به همین دلیل می‌توان تاریخچه تغییرات قیمت محصولات را نگهداری و در مراحل بعد تحلیل کرد.

فناوری‌های مورد استفادهکد منبع
Python، Apache Airflow، PostgreSQL، Pandas، Requests، LoggingDigikala Mobile Price Pipeline

مهارت‌هایی که یاد می‌گیرید:

  • دریافت چندصفحه‌ای اطلاعات محصولات از API دیجی‌کالا
  • نرمال‌سازی داده‌های تو‌در‌توی JSON
  • ساخت پایپ‌لاین ETL ماژولار با پایتون
  • زمان‌بندی و مدیریت گردش کار با Apache Airflow
  • ذخیره داده‌های تاریخی و زمان اجرای هر رکورد
  • مدیریت لاگ، خطا و اجرای مجدد تسک‌ها
جمع‌آوری روزانه قیمت موبایل از دیجی‌کالا

نمونه پروژه مهندسی داده برای سطح پیشرفته

در سطح پیشرفته، شما وارد دنیای سیستم‌های داده واقعی، توزیع‌شده و مقیاس‌پذیر می‌شوید. در این مرحله علاوه‌بر طراحی پایپ‌لاین‌های ETL و ELT، با مفاهیمی مانند پردازش جریانی لحظه‌ای، معماری Lakehouse، مدیریت زیرساخت به‌عنوان کد، حاکمیت و تبارشناسی داده و پایش پایپ‌لاین‌ها در محیط عملیاتی کار خواهید کرد. هدف این پروژه‌ها ساخت سیستم‌های داده پایدار، مقیاس‌پذیر و قابل‌اعتماد برای پردازش حجم زیادی از داده در محیط‌های واقعی است. نمونه پروژه‌های مهندسی داده برای سطح پیشرفته عبارت‌اند از:

۱۱. ساخت پایپ‌لاین داده مبتنی بر پیام‌رسانی با استفاده از PySpark و Hive

این پروژه معماری Lambda را پیاده‌سازی می‌کند؛ معماری‌ای که پردازش جریانی لحظه‌ای و پردازش دسته‌ای را در یک سیستم یکپارچه مدیریت می‌کند. این الگو زمانی استفاده می‌شود که هم به بینش‌های فوری و هم به تحلیل داده‌های تاریخی نیاز داشته باشید.

یک پایپ‌لاین دومسیره بسازید که در آن مسیر سریع یا Hot Path داده‌های جریانی را برای داشبوردهای بلادرنگ پردازش کند و مسیر سرد یا Cold Path داده‌ها را برای تحلیل‌های دسته‌ای ذخیره کند. از NiFi برای دریافت داده از APIها، تجزیه داده‌های JSON و رمزنگاری فیلدهای حاوی اطلاعات شخصی قابل‌شناسایی استفاده کنید. داده‌ها را برای پردازش بلادرنگ با PySpark به Kafka هدایت کرده و نتایج را در Cassandra ذخیره کنید. هم‌زمان، داده‌ها را برای تحلیل دسته‌ای مبتنی بر Hive در HDFS قرار دهید. فرایندها را با Airflow هماهنگ کنید.

فناوری‌های مورد استفادهکد منبع
Apache NiFi، Apache Kafka، PySpark، Apache Hive، HDFS، Cassandra، Apache AirflowCreate A Data Pipeline based on Messaging Using PySpark Hive

مهارت‌هایی که در طول این پروژه یاد می‌گیرید:

  • پیاده‌سازی معماری Lambda
  • یکپارچه‌سازی پردازش جریانی Kafka و Spark
  • رمزنگاری اطلاعات شخصی قابل‌شناسایی در پایپ‌لاین‌ها
  • مسیریابی داده‌ها بین Hot Path و Cold Path

۱۲. پروژه ETL با PySpark برای پردازش لحظه‌ای داده‌ها

درک تفاوت میان ETL و ELT یکی از موضوعات رایج در مصاحبه‌های شغلی است. این پروژه هر دو الگو را آموزش می‌دهد و نشان می‌دهد در چه شرایطی باید داده‌ها را پیش از بارگذاری تبدیل کرد و چه زمانی بهتر است تبدیل داده پس از بارگذاری انجام شود.

الگوهای ETL و ELT را با استفاده از PySpark Structured Streaming پیاده‌سازی کنید. پایپ‌لاین‌های جریانی بسازید که داده‌ها را از Kafka دریافت کنند، تبدیل‌های لازم را روی آن‌ها انجام دهند و نتایج را در چند مقصد مختلف ذخیره کنند. نحوه یکپارچه‌سازی PySpark با MySQL، Hive، Cassandra و Redshift را یاد بگیرید؛ هرکدام از این ابزارها الگوی متفاوتی برای پیکربندی Connectorها به شما آموزش می‌دهند.

فناوری‌های مورد استفادهکد منبع
PySpark، Spark Structured Streaming، Apache Kafka، MySQL، Hive، Cassandra، Amazon RedshiftPySpark ETL Project for Real-Time Data Processing

در طول انجام این پروژه مهارت‌های زیر را کسب خواهید کرد:

  • تصمیم‌گیری درباره انتخاب ETL یا ELT
  • کار با APIهای Spark Structured Streaming
  • طراحی معماری پایپ‌لاین با چند مقصد ذخیره‌سازی
  • پیکربندی Connectorهای PySpark

۱۳. ساخت پایپ‌لاین داده جریانی با استفاده از Flink و Kinesis

Apache Flink قابلیت‌های پیشرفته‌ای برای پردازش داده‌های جریانی ارائه می‌دهد که از جمله آن‌ها می‌توان به پردازش واقعی بر اساس زمان رویداد و تضمین Exactly-once اشاره کرد. این پروژه نحوه استفاده از Flink در کنار AWS Kinesis را نشان می‌دهد.

یک سیستم مانیتورینگ و هشدار برای داده‌های حساس به زمان بسازید. داده‌های حسگر را شبیه‌سازی کرده و از طریق AWS Kinesis به جریان بیندازید. داده‌ها را با Kinesis Data Analytics مبتنی‌بر Flink پردازش کنید و تجمیع‌های پنجره‌ای و تشخیص الگو را پیاده‌سازی کنید. برای تحلیل تعاملی از زپلاین استفاده کنید. لامبادا را طوری تنظیم کنید که در صورت عبور مقادیر از آستانه‌های تعیین‌شده، هشدارهای SNS را فعال کند. داده‌ها را در S3 ذخیره کرده و از طریق Athena روی آن‌ها Query بزنید.

فناوری‌های مورد استفادهکد منبع
Apache Flink, AWS Kinesis, AWS Lambda, AWS SNS, AWS Glue, Amazon AthenaBuild a Streaming Data Pipeline using Flink and Kinesis

پس از ساخت پایپ‌لاین داده جریانی با استفاده از Flink و Kinesis مهارت‌های زیر را به دست خواهید آورد:

  • پردازش داده‌های جریانی با Apache Flink
  • پردازش رویدادهای پیچیده (CEP)
  • اکوسیستم AWS Kinesis
  • هشداردهی مبتنی بر رویداد

۱۴. نمونه پایپ‌لاین داده AWS و Snowflake با استفاده از Kinesis و Airflow

تفکیک فضای ذخیره‌سازی و قدرت پردازشی در Snowflake باعث شده است این پلتفرم به یکی از گزینه‌های اصلی شرکت‌های مبتنی بر فضای ابری برای انبار داده تبدیل شود. این پروژه الگوهای مورد استفاده در محیط‌های عملیاتی را برای انتقال داده‌های جریانی از AWS به Snowflake آموزش می‌دهد.

یک پایپ‌لاین جریانی سرتاسری از AWS به Snowflake با ارکستریشن Airflow بسازید. نمونه‌های EC2 را با Kinesis Agent پیکربندی کنید تا لاگ‌های برنامه را جمع‌آوری و به‌صورت جریانی ارسال کنند. Kinesis Firehose را تنظیم کنید تا داده‌ها را بافر کرده و در قالب دسته‌های کوچک در S3 ذخیره کند. Stageهای Snowflake را با اتصال به S3 ایجاد کرده و جدول‌ها را با Schemaهای مناسب تعریف کنید. AWS MWAA یا Managed Workflows for Apache Airflow را راه‌اندازی کرده و DAGهایی بسازید که فرایند بارگذاری داده را ارکستره کنند؛ از جمله بارگذاری افزایشی، اعتبارسنجی داده و مراحل تبدیل. این پروژه الگوی مدرن دریافت جریانی داده همراه با تبدیل دسته‌ای را نشان می‌دهد.

فناوری‌های مورد استفادهکد منبع
AWS Kinesis Firehose, AWS EC2, AWS S3, AWS MWAA (Airflow), Snowflake, TerraformAWS Snowflake Data Pipeline Example using Kinesis and Airflow

مهارت‌هایی زیر را پس از انجام این پروژه به دست خواهید آورد:

  • پیکربندی Kinesis Agent
  • ساخت Stageها و بارگذاری داده در Snowflake
  • مدیریت کلاستر AWS MWAA
  • ساخت DAGهای Airflow برای Snowflake
  • پیاده‌سازی الگوهای انتقال داده جریانی به انبار داده

۱۵. پایپ‌لاین لحظه‌ای تحلیل محتوای فارسی سهامیاب

در این پروژه، پست‌های فارسی مرتبط با بازار سرمایه از API سهامیاب دریافت و با استفاده از Kafka وارد یک پایپ‌لاین پردازش جریانی می‌شوند. تولیدکننده Kafka داده‌های جدید را دریافت کرده و در یک Topic منتشر می‌کند. سپس مصرف‌کننده Kafka متن پست‌ها را پردازش کرده و اطلاعاتی مانند هشتگ‌ها، کلمات کلیدی، لینک‌ها و متادیتای پیام را استخراج می‌کند. در مرحله بعد، داده‌های پردازش‌شده در Elasticsearch ذخیره می‌شوند تا امکان جست‌وجوی متنی، تحلیل فعالیت کاربران و نمایش هشتگ‌ها و موضوعات پرتکرار در Kibana فراهم شود.

فناوری‌های مورد استفادهکد منبع
Python، Apache Kafka، Elasticsearch، Kibana، Pandas، Requests، Scikit-learnCrawler, Kafka, Elasticsearch

منبع: projectpro.io

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا