TGViewer
NLP stuff NLP stuff @nlp_stuff · 3.86K subscribers
Post #323 4.6K
اسپارک؛ سهل و ممتنع!

اگر در حوزه تحلیل دیتا کار کرده باشید قطعا با ابزارهای data manipulation مانند pandas یا spark کار کردید. در این پست قصد داریم رشته بلاگی رو به شما معرفی کنیم که مفاهیم پایه‌ای spark رو به شما یاد میده. فهم این مفاهیم کمک می‌کنه که کوعری‌های بهتری در اسپارک بزنید و یا علت کند اجرا شدن برخی از کوعری‌ها رو بفهمید. همون‌طور که می‌دونید spark در دوحالت cluster mode و client mode اجرا میشه که معمولا برای کارهای تحلیلی که خیلی پروداکشنی نیست از همین حالت client mode استفاده می‌کنیم که در واقع تنها کاری که برای بهره بردن از اسپارک باید انجام بدید نصب پکیج pyspark بر روی سیستمتون هست (درست مثل pandas). حسن بزرگ اسپارک اینه که محاسبات بر روی دیتای حجیم رو می‌تونه بین چندین executor بشکونه و محاسبات هر executor توی ram اجرا میشه و executorها نتایج کارشون رو با استفاده از ارتباط با driver به اشتراک می‌ذارن تا نتیجه نهایی بدست بیاد (همون‌طور که متوجه شدید معماری کل اسپارک حالت master/slave داره) این وسط با کانفیگ‌هایی که روی اسپارک انجام میدید میتونید حداکثر استفاده از ram رو تعیین کنید تا خیالتون راحت باشه که همه ram سیستم شما مورد استفاده قرار نگیره. این رشته بلاگ ابتدا مفاهیمی مانند driver و executor و scheduler رو توضیح داده و سپس به سراغ توضیح پارتیشن‌ها رفته. پارتیشن‌ها بخش‌هایی از دیتا هستند که می‌تونند به صورت توزیع‌شده باشند و یا به صورت موازی پردازش بر روی اون‌ها انجام بگیره. در واقع هر executor در لحظه می‌تونه فقط یک پارتیشن از دیتا رو پردازش کنه ولی driver می‌تونه چندین executor رو به کار بگیره برای اینکه پردازش دیتا همزمان روی چندین پارتیشن انجام بشه.
این رشته بلاگ توضیح داده که برخی از transformationها یا کوعری ها حالت narrow دارند که به این معنیه که انجام اونها منجر به repartition شدن دیتا نمیشه مانند map یا filter ولی برخی دیگه wide transformation هستند که منجر به repartition شدن دیتا میشه مانند groupby که wide transformationها می‌تونند کوعری‌های سنگین‌تری باشند.  (همون‌طور که می‌دونید کوعری‌ها در اسپارک lazy هستند به این معنی که در لحظه اجرا نمیشند بلکه مواقع خاصی مانند تبدیل نتایج به list و یا ذخیره کردن داده اجرا میشند که این به اسپارک اجازه میده از زنجیره کوعری‌ها یک گراف محاسباتی بسازه و اون رو قبل از اجرا بهینه کنه)
در نهایت اومده و memory management در اسپارک رو توضیح داده که یکی از مهم‌ترین و البته پیچیده‌ترین قسمت‌های فهم اسپارک هست و گفته که memory management در سطوح مختلف قابل تعریفه مثل driver memory و یا executor memory و ...
توصیه می‌کنیم حتما این رشته بلاگ رو بخونید و سعی کنید از این به بعد به جای pandas از spark استفاده کنید که وقتی دیتای حجیم دیدید هول نکنید!

لینک رشته بلاگ:
https://luminousmen.com/post/hadoop-yarn-spark

#handsOn
#read
#blog

@nlp_stuff
Blog | iamluminousmen Cluster Managers for Apache Spark: from YARN to Kubernetes Uncover the mechanics of Apache Spark's cluster managers, from YARN to Kubernetes. Learn how to optimize data processing with this in-depth exploration.
More from @nlp_stuff
  1. Jan 6, 2026اندر حکایات بازی با کلمات: AI Engineering vs ML Engineering/Data Scientist این روزها عناوی…
  2. Mar 3, 2025مفهوم Agent چیست و چگونه کار می‌کنند؟ خانم چیپ هوین بلاگ پست مفصلی راجع به Agent (به قول ر…
  3. Feb 28, 2025خلاصه‌تر فکر کن از اونجایی که در مسائل استدلالی (reasoning) ، مدل برای رسیدن به جواب نهایی…
  4. Feb 23, 2025چه قدر تا بی‌کارشدن بک‌اندی‌ها فاصله داریم؟ عمده استفاده برنامه‌نویس‌ها از LLM‌ها در سطح پ…
  5. Feb 20, 2025به سوی سیستم‌۲ پیشرفت‌های هوش مصنوعی در دهه ۲۰۱۰، مدیون آموزش مدل‌های بزرگ دیپ لرنینگی روی…
  6. Feb 8, 2025مدل‌های استدلالی (reasoning) چیست و چگونه ساخته می‌شوند؟ حتما این روزها بارها مدل‌های استد…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →