لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش جامع PySpark برای مهندسان داده: معماری و آمادگی مصاحبه
- آخرین آپدیت
دانلود PySpark for Data Engineers: Architecture & Interviews
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
مسترکلاس PySpark و Apache Spark: از مبتدی تا پیشرفته | بهینهسازی اسپارک، تنظیمات عملکرد و سوالات مصاحبه
پایهها و معماری: راهاندازی PySpark در گوگل کولب (Google Colab) و تسلط بر ساختارهای داخلی Apache Spark، شامل Driverها، Executorها، DAGها و ارزیابی تنبل (Lazy Evaluation).
مسترکلاس DataFrame API: انجام عملیات پیچیده روی دادهها با استفاده از توابع Explode، پنجرهها (Rank در مقابل Dense Rank)، Pivot/Unpivot و Joinهای پیشرفته.
مهندسی عملکرد: حل گلوگاههای واقعی در محیط عملیاتی مانند عدم توزیع یکنواخت دادهها (Data Skew) با روش Salting و بهینهسازی جابجایی دادهها با Broadcast Variables.
مدیریت منابع و حافظه: تسلط بر تنظیمات spark-submit و بهینهسازی هستههای CPU، حافظه Executor و سطوح ذخیرهسازی (Cache در مقابل Persist).
تکنیکهای بهینهسازی: بهرهگیری از Predicate Pushdown، Projection Pruning و Bucketing برای افزایش چشمگیر سرعت کوئریها.
عیبیابی و برنامههای کوئری: یادگیری تحلیل Spark Query Plan با استفاده از .explain(True) برای بصریسازی مراحل اجرا و شناسایی نقاط کند.
عملیات ابری (AWS EMR): شناسایی کلاسترهای کمبازده و پیادهسازی Auto-Scaling هوشمند برای بهینهسازی هزینههای ابری.
آمادگی برای مصاحبه: تمرین مسائل کدنویسی پر تکرار PySpark برای موفقیت در مراحل فنی شرکتهای برتر تکنولوژی.
پیش نیازها: برنامهنویسی مقدماتی پایتون: آشنایی با متغیرها، انواع داده، حلقهها و تعریف توابع. آشنایی با کتابخانه Pandas مزیت است اما اجباری نیست.
دانش پایه SQL: درک مفاهیم ابتدایی SQL (دستورات SELECT، Joinهای ساده و Group By) به شما کمک میکند تبدیلهای اسپارک را سریعتر یاد بگیرید.
یک حساب گوگل: ما از Google Colab برای تمامی آزمایشها استفاده میکنیم، بنابراین نیازی به سیستم قدرتمند یا نصب نرمافزارهای پیچیده ندارید.
اشتیاق به دادههای حجیم (Big Data): تمایل به درک نحوه پردازش مجموعهدادههای عظیم (بیش از ۱۰ ترابایت) و تفکر مسئلهمحور برای رفع گلوگاههای عملکردی.
بدون نیاز به تجربه قبلی در Spark: ما از نقطه صفر شروع میکنیم و قبل از ورود به مباحث پیشرفته بهینهسازی، معماری و راهاندازی را پوشش میدهیم.
آیا از اجرای Jobهای اسپارک که در ۹۹٪ متوقف میشوند خسته شدهاید؟ آیا میخواهید فراتر از سینتکسهای ساده بروید و «موتور زیر کاپوت» را بشناسید؟ این دوره یک مسترکلاس عمیق است که شما را از یک مبتدی در PySpark به یک مهندس داده با عملکرد بالا تبدیل میکند.
ما از ابتدا با راهاندازی PySpark در Google Colab شروع میکنیم تا فارغ از قدرت سیستم شما، بتوانید آموزشها را دنبال کنید. سپس وارد «جعبه سیاه» معماری Apache Spark میشویم و مفاهیم DAGها، Executorها و Driverها را به زبانی ساده توضیح میدهیم.
چه چیزی این دوره را متفاوت میکند؟
برخلاف سایر دورهها که فقط کدنویسی میآموزند، این دوره به شما یاد میدهد چگونه کد را بهینه کنید. ما با کابوسهای دنیای واقعی مانند Data Skew و تله Shuffle مقابله میکنیم. شما خواهید آموخت که چگونه با تسلط بر تنظیمات spark-submit و مدیریت حافظه، ۱۰ ترابایت داده را در ۱۰ دقیقه پردازش کنید.
آنچه در این دوره بر آن مسلط میشوید:
معماری: درک نحوه عملکرد داخلی اسپارک (اجزای کلیدی، DAG و Lazy Evaluation).
DataFrame API: تسلط بر تبدیلهای پیچیده مانند explode، pivot، regex_extract و توابع پیشرفته Window (rank در مقابل dense_rank).
مهندسی عملکرد: یادگیری تکنیکهای حرفهای: Salting برای رفع مشکل Joinهای نامتقارن، Bucketing، Broadcast Variables و انتخاب بین repartition و coalesce.
استقرار در محیط عملیاتی: تسلط بر تنظیمات spark-submit (هستهها، حافظه و Executorها) و شناسایی کلاسترهای EMR بلااستفاده برای کاهش هوشمند مقیاس.
بهینهساز: یادگیری تحلیل Spark Query Plans با استفاده از .explain(True) و درک Predicate Pushdown و Join Reordering.
آمادگی مصاحبه: شامل بخشی اختصاصی برای مسائل کدنویسی PySpark جهت آمادگی کامل برای مراحل فنی مصاحبه.
این دوره برای چه کسانی است؟
مبتدیان که به دنبال یک مسیر ساختاریافته برای ورود به دنیای Big Data هستند.
مهندسان داده که میخواهند خط لولههای (Pipelines) کند خود را اصلاح کرده و هزینههای ابری را بهینه کنند.
جویایان کار که برای مصاحبههای فنی PySpark در شرکتهای تراز اول آماده میشوند.
در پایان این دوره، شما فقط اسکریپت PySpark نخواهید نوشت، بلکه سیستمهای Big Data با کارایی بالا طراحی خواهید کرد که مقیاسپذیر، بهینه و آماده برای محیط عملیاتی باشند.
سرفصل ها و درس ها
معماری Apache Spark
Apache Spark Architecture
مقدمه
Introduction
راهاندازی Pyspark در Colab - روش قدیمی
Setup Pyspark in Colab -- Old Method
راهاندازی Pyspark در Colab - روش جدید
Setup Pyspark in Colab -- New Method
تسلط بر Sparksession در Apache Spark
Mastering Sparksession in Apache Spark
تبدیلهای اصلی PySpark
Core PySpark Transformations
تسلط بر توابع Explode در PySpark | مقایسه explode و explode_outer و posexplode
Master PySpark Explode Functions | explode vs explode_outer vs posexplode
افزایش عملکرد اسپارک با repartition() و coalesce()
Boost Spark Performance with repartition() & coalesce()
تبدیلهای Narrow در مقابل Wide در PySpark | توضیح پلنهای فیزیکی اسپارک
Narrow vs Wide Transformations in PySpark | Spark Physical Plans Explained
تبدیلها (Transformations) و اکشنها (Actions) | چرا اسپارک از Lazy Evaluation استفاده میکند؟
Spark Transformations & Actions | Why Spark prefers Lazy Evaluation?
عملیات مهندسی داده در PySpark
PySpark Data Engineering Operations
اتصالها (Joins) در PySpark | Inner, Outer, Left, Right, Left_Semi, Left_Anti و Cross Join
PySpark Joins | Inner, Outer, Left, Right , Left_Semi, Left_Anti & Cross Join
انواع Union در PySpark | مقایسه Union و UnionDistinct و UnionByName
Types of Union in PySpark | Union vs UnionDistinct vs UnionByName
مقایسه Pivot و Unpivot در PySpark
Pivot vs Unpivot in PySpark
ورودی دادهها (Data Ingestion)
Data Ingestion
حالتهای خواندن فایل در Pyspark
File reading modes in Pyspark
گزینههای خواندن فایل در PySpark | تسلط بر ورود دادهها
PySpark File Reading Options - Mastering Data Ingestion
گزینههای خواندن دیتابیس JDBC در PySpark | تسلط بر ورود دادهها
PySpark JDBC Database Reading Options - Mastering Data Ingestion
توضیح حالتهای نوشتن در PySpark | Append در مقابل Overwrite و Ignore و Error
PySpark Write Modes EXPLAINED | Append vs Overwrite vs Ignore vs Error
مسترکلاس Spark Submit: تنظیمات بهینه حافظه و CPU برای فایل منبع
Spark Submit Masterclass : Optimal Memory & CPU Settings for Source File
استفاده حرفهای از Spark Submit: بهترین روشها برای Executorها، هستهها و حافظه
Master Spark Submit Like a Pro : Best Practices for Executors, Cores & Memory
توابع پیشرفته PySpark
Advanced PySpark Functions
استفاده از regex_extract() و regex_replace() در Pyspark
regex_extract() & regex_replace() in Pyspark
مقایسه collect_set() و collect_list() در PySpark
collect_set() vs collect_list() in PySpark
تسلط بر رتبهبندی در PySpark: مقایسه row_number و rank و dense_rank
Master Ranking in PySpark: row_number vs rank vs dense_rank
توابع کاربر تعریف شده (UDF) در PySpark
UDF in PySpark
توضیح Cache در مقابل Persist | افزایش عملکرد اسپارک با Storage Level
PySpark Cache vs Persist Explained | Boost Spark Performance with Storage Level
متغیرهای Broadcast در Pyspark
Broadcast Variables in Pyspark
پارتیشنبندی اسپارک: افزایش عملکرد با کلیدهای پارتیشن هوشمند - بخش اول
Spark Partitioning : Boost Performance with Smart Partition Keys - Part 1
پارتیشنبندی: تکسطحی در مقابل چندسطحی، Repartition, Coalesce و maxPartition - بخش دوم
Partitioning:Single vs Multi-Level,Repartition,Coalesce & maxPartition - Part 2
توضیح Bucketing در Pyspark: افزایش چشمگیر سرعت پردازش دادهها!
Pyspark Bucketing EXPLAINED: Skyrocket Your Data Performance!
بررسی سناریوی عملی
Case Scenario
عیبیابی Jobهای کند اسپارک
Debugging Slow Spark Jobs
رفع مشکل توقف Joinها در ۹۹٪! | مدیریت Data Skew در PySpark با روش Salting
Fix Spark Joins Getting Stuck at 99%! | Handle Data Skew in PySpark with Salting
مدیریت دادههای نامتقارن (Skewed Data) در Joinهای PySpark
Handling Skewed Data in Joins - PySpark
تله Shuffle در PySpark: چرا Jobهای شما بسیار کند هستند (و چگونه آن را رفع کنید!)
The PySpark Shuffle Trap: Why Your Jobs Are SO SLOW (And How to Fix It!)
بار کاری PySpark: Predicate Pushdown, Projection Pruning و Join Reordering
PySpark Workloads: Predicate Pushdown, Projection Pruning & Join Reordering
تحلیل پلن کوئری اسپارک: راهنمای بصری .explain(True) و مراحل اجرا
Crack the Spark Query Plan: Visual Guide to .explain(True) & Execution Stages
مفهوم DAG (گراف جهتدار بدون دور) در اسپارک
DAG (Directed Acyclic Graph) in Spark
جریان اجرای Job در اسپارک
Spark Job Execution Flow
بهینهسازی کلاستر و مباحث متفرقه
Cluster Optimization & Miscellaneous Topics
پردازش ۱۰ ترابایت داده در ۱۰ دقیقه با Apache Spark: راهنمای تنظیم spark submit
Process 10 TB in 10 Minutes with Apache Spark : spark-submit Tuning Guide
پردازش ۱۰ ترابایت داده در ۳ ساعت: راهنمای تنظیمات مقرون به صرفه
Processing 10 TB Data in Apache Spark in 3 Hours: A Cost-Effective Tuning Guide
شناسایی کلاسترهای EMR کمبازده و کاهش هوشمند مقیاس (Auto Scale Down)
Detect Underutilized EMR Clusters & Auto Scale Down Smartly
مقایسه left_anti Join و exceptAll در PySpark
left_anti Join vs exceptAll in PySpark
تبدیل Pandas Dataframe به Pyspark Dataframe
Convert Pandas Dataframe to Pyspark Dataframe
نمایش نظرات