لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش تحلیل دادههای بزرگ (Big Data) با اسکالا و اسپارک (نسخه Scala 2)
- آخرین آپدیت
دانلود Big Data Analysis with Scala and Spark (Scala 2 version)
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
مدیریت دادههای عظیم توزیع شده در یک کلاستر با استفاده از مفاهیم برنامهنویسی تابعی (Functional Programming)، یکی از رایجترین کاربردهای صنعتی ایدههای تابعی است. محبوبیت MapReduce، Hadoop و اخیراً Apache Spark (یک فریمورک توزیع شده سریع و در حافظه که با زبان اسکالا نوشته شده) گواه این موضوع است. در این دوره، یاد میگیریم که چگونه پارادایم موازیسازی دادهها را به حالت توزیع شده با استفاده از Spark گسترش دهیم. ما مدل برنامهنویسی Spark را با جزئیات بررسی میکنیم و تفاوتهای آن را با مدلهای برنامهنویسی آشنا مانند کلکسیونهای موازی حافظه مشترک یا کلکسیونهای ترتیبی اسکالا تحلیل خواهیم کرد. از طریق مثالهای عملی در Spark و Scala، میآموزیم که چه زمانی مسائل حیاتی مربوط به توزیع دادهها مانند تأخیر (Latency) و ارتباطات شبکه باید در نظر گرفته شوند و چگونه میتوان برای بهبود عملکرد، آنها را به طور مؤثر مدیریت کرد.
دستاوردهای یادگیری: در پایان این دوره شما قادر خواهید بود:
- دادهها را از حافظههای ذخیرهسازی خوانده و وارد Apache Spark کنید.
- دادهها را با استفاده از Spark و Scala مدیریت و تغییر دهید.
- الگوریتمهای تحلیل داده را به سبک تابعی پیادهسازی کنید.
- روشهای جلوگیری از Shuffle و محاسبه مجدد (Recomputation) در Spark را شناسایی کنید.
پیشنیازهای توصیه شده: حداقل یک سال تجربه برنامهنویسی. تسلط بر Java یا #C ایدهآل است، اما تجربه در زبانهای دیگر مانند C/C++، پایتون، جاوااسکریپت یا روبی نیز کافی است. همچنین آشنایی با خط فرمان (Command Line) ضروری است. این دوره برای گذراندن پس از دوره برنامهنویسی موازی طراحی شده است.
توجه: این نسخه از دوره از Scala 2.13 استفاده میکند. برای دسترسی به نسخه جدیدتر با Scala 3 به لینک مربوطه مراجعه کنید.
سرفصل ها و درس ها
شروع به کار و مبانی اسپارک
Getting Started + Spark Basics
مقدمه، تدارکات و آنچه خواهید آموخت
Introduction, Logistics, What You'll Learn
از موازیسازی دادهها تا موازیسازی توزیع شده
Data-Parallel to Distributed Data-Parallel
تأخیر در شبکه (Latency)
Latency
آشنایی با RDDها: کلکسیون توزیع شده اسپارک
RDDs, Spark's Distributed Collection
آشنایی با RDDها: تغییرات (Transformations) و اکشنها (Actions)
RDDs: Transformation and Actions
ارزیابی در اسپارک: تفاوت با کلکسیونهای اسکالا
Evaluation in Spark: Unlike Scala Collections!
اهمیت توپولوژی کلاستر
Cluster Topology Matters!
عملیات کاهش و جفتهای کلید-مقدار توزیع شده
Reduction Operations & Distributed Key-Value Pairs
عملیات کاهش (Reduction Operations)
Reduction Operations
آشنایی با Pair RDDs
Pair RDDs
تغییرات و اکشنها در Pair RDDs
Transformations and Actions on Pair RDDs
اتصال دادهها (Joins)
Joins
پارتیشنبندی و شافلینگ
Partitioning and Shuffling
شافلینگ (Shuffling): چیست و چرا اهمیت دارد
Shuffling: What it is and why it's important
پارتیشنبندی (Partitioning)
Partitioning
بهینهسازی با استفاده از پارتیشنرها
Optimizing with Partitioners
وابستگیهای عریض در مقابل وابستگیهای باریک
Wide vs Narrow Dependencies
دادههای ساختاریافته: SQL، دیتافریمها و دیتاستها
Structured data: SQL, Dataframes, and Datasets
دادههای ساختاریافته در مقابل غیرساختاریافته
Structured vs Unstructured Data
نمایش نظرات