خرید دوره
خانه / دوره ها / بیگ دیتا, پردازش توزیع شده / اسپارک برای تحلیلگران و دانشمندان داده
مدرس دوره:
وحید امیری
اسپارک برای تحلیلگران و دانشمندان داده
در دوره آموزشی آپاچی اسپارک به یادگیری بنیادی و پایهایی اسپارک میپردازیم. این دوره برای تحلیلگران، دانشمندان داده و مهندسین داده که قصد کار با APIهای اسپارک را دارند، بسیار مناسب میباشد. در این دوره صرفاً به برنامهنویسی با اسپارک میپردازیم.
**درحال آماده سازی**
۰ تومان
سطح دوره
مبتدی
تعداد جلسات
40
زبان:
فارسی
طول هر جلسه:
حدود 30 دقیقه
زمان کلی دوره:
20 ساعت
سبک ارائه دوره:
آفلاین از طریق Spotplayer
موراد قابل دانلود:
پاورپوینت و کدهای توسعه داده شده در کلاس
مدرک دوره:
مدرک کتبی پس از پایان دوره
درباره این دوره
آپاچی اسپارک به عنوان یک فریمورک پردازش داده قدرتمند در محیطهای صنعتی و تحقیقاتی جهان مورد استقبال فراوان قرار گرفته است. این ابزار، یک فریمورک متن باز برای پردازش و تحلیل دادههاست که به صورت گسترده در بخشهای مختلف از تحلیل دادههای حجیم، یادگیری ماشین، تحلیل گراف، و پردازش دادههای زمان واقعی مورد استفاده قرار میگیرد. این پروژه با هدف ارائه یک جایگزین سریعتر، کارآمدتر، و قابل توسعه برای فریمورکهای پردازش داده سنتی، در سال 2009 در دانشگاه برکلی بصورت متن باز تحت لایسنس آپاچی توسعه داده شد و به مرور زمان توسط یک جامعه بزرگ از توسعهدهندگان حمایت شده است. شاید یکی از دلایل محبوبیت بالای پروژه اسپارک، تنوع نوع پردزاشهایی است که میتوان توسط این فریمورک انجام داد. در ادامه برخی از این مدلهای پردازشی آورده شده است.
- تحلیل دادههای حجیم (Big Data Analytics)
- اسپارک برای تحلیل دادههای حجیم و پیچیده بسیار کارآمد است. این موارد شامل تحلیل و استخراج اطلاعات از دادههای ساختاریافته، نیمهساختاریافته و بدونساختار میشود که معمولاً از منابع مختلفی مثل پایگاههای داده، فایلهای لاگها، دادههای سنسور و منابع ابری به دست میآید.
- پردازش داده در زمان واقعی (Real-time Data Processing)
- اسپارک مولفههای مناسبی برای پردازش دادهها در زمان واقعی ارائه میدهد. این قابلیت مخصوصاً برای حوزههایی مانند پردازش لحظهای دادههای حسگرها، لاگها، دادههای سیگنال میتواند بسیار مفید باشد و همچنین با قابلیتهایی نظیر استفاده از پنجرههای زمانی، تحلیلهای Stateful و تجمیعهای پیچیده، میتوان تحلیلهای پیچیده را براحتی توسط این ابزار انجام داد.
- یادگیری ماشین (Machine Learning)
- اسپارک ابزارهای قدرتمندی در زمینه یادگیری ماشین نیز ارائه میدهد. مولفه MLlib، شامل انواع الگوریتمهای یادگیری ماشین و مدلهای پیشبینی (نظیر الگوریتمهای طبقهبندی، درخت تصمیم، سیستمهای توصیهگر، خوشهبندی، مدلسازی موضوعات، قوانین انجمنی و بسیاری دیگر از انواع الگوریتمهای یادگیری ماشین) است که در تحلیل دقیق دادهها و ایجاد مدلهای پیشبینی کاربرد دارند.
- پردازش گراف (Graph Processing)
- تحلیل گرافهای بزرگ، پیچیده و با تراکم بالا، یکی از چالشهای پروژههای تحلیل دادههای گرافی میباشد. بدلیل پیچیدگی بالای الگوریتمهای گراف، معمولا تحلیل آنها، نیازمند به سیستمهایی با توان پردزاشی بالا است. کتابخانه GraphX اسپارک ابزار مؤثری برای تحلیل این مدل از دادهها بصورت مقیاسپذیر ارائه میدهد. این موارد کاربرد شامل تحلیل شبکههای اجتماعی، شبکههای حمل و نقل، و ساختارهای گرافی دیگر است.
چرا این دوره
یادگیری فریمورک آپاچی اسپارک از مزایای زیادی برخوردار است و میتواند برای شما فرصتها و مزایای بسیاری فراهم کند. به جرات میتوان گفت آپاچی اسپارک محبوبترین فریمورک پردازش و تحلیل کلان دادهها است. در موقعیت شغلی مهندسی داده و مرتبط با حوزه کلان داده یکی از کلیدیترین مهارتها، کار کردن با ابزار اسپارک و توسعه برنامهها با این ابزار میباشد. همچنین به دلیل رشد روزافزون دادهها و احتیاج به تحلیل دادهای حجیم، در بسیار از موقعیتهای شغلی تحلیل داده و علم داده نیز، داشتن این مهارت ویژگی رقابتی مهمی محسوب میشود. با نگاهی به سایتهای کاریابی و میزان درآمد متخصصان اسپارک، این نکته بخوبی مشخص میباشد. در ادامه چند لینک برای بررسی در این زمینه ارائه شده است.
درخواستهای کار در سایت Indeed
در ادامه نیز، تعدادی از دلایل مهم برای یادگیری آپاچی اسپارک آورده شده است:
- پردازش داده حجیم:
- آپاچی اسپارک به شما امکان پردازش دادههای حجیم را به سرعت و با کارآیی بالا میدهد. این ابزار به شما اجازه میدهد دادههای بزرگ را به صورت توزیعشده و همزمان پردازش کنید.
- کاربرد گسترده:
- آپاچی اسپارک در حوزههای مختلفی از جمله تحلیل داده، یادگیری ماشین، پردازش گراف، پردازش دادههای زمان واقعی، و تحلیل چندرسانهای کاربرد دارد. یادگیری این فریمورک به شما این امکان را میدهد تا در زمینههای مختلف فعالیت کنید.
- کارآیی بالا:
- اسپارک به دلیل معماری اشتراکی (In-memory) خود، که از حافظه RAM برای ذخیره دادهها و محاسبات استفاده میکند، کارآیی بسیار بالایی دارد و سرعت اجرای الگوریتمها در آن در مقایسه با دیگر فریمورکها بسیار قابل مقایسه و متمایز میباشد.
- پشتیبانی از چندین زبان برنامهنویسی:
- اسپارک از چندین زبان برنامهنویسی از جمله Scala، Java، Python و R پشتیبانی میکند. این امکان به شما این فرصت را میدهد که با استفاده از زبان مورد علاقهتان با این فریمورک کار کنید.
- انعطافپذیری:
- اسپارک از یک سری کتابخانهها و ابزارها برای پردازش گسترده داده و مدیریت پروژههای پیچیده استفاده میکند. این انعطافپذیری به شما این امکان را میدهد که برنامههای خود را با توجه به نیازهای خاص خود ایجاد و تنظیم کنید.
- جامعه متن باز فعال:
- اسپارک یک جامعه فعال و بزرگ از مشارکتکنندگان دارد که به شما امکان مشارکت در پروژهها، پرسش و پاسخ، و به اشتراک گذاری تجارب را فراهم میکند. این امر برای یادگیری و بهروزرسانی مهارتهای شما بسیار مفید است.
- پردازش داده در زمان واقعی:
- اسپارک قابلیت پردازش دادهها در زمان واقعی را دارد که برای برخی از برنامهها و سناریوهای کسب و کاری بسیار حیاتی است.
با توجه به این مزایا، یادگیری آپاچی اسپارک میتواند در توسعه حرفهای و موفقیت شما در زمینه تحلیل داده و پردازش دادههای حجیم بسیار موثر باشد.
مخاطبان دوره
دوره آموزشی آپاچی اسپارک برای توسعهدهندگان، دانشجویان، متخصصین علوم داده و تحلیلگران داده ارائه شده است. در این دوره مفاهیم اسپارک از ابتدا و بصورت ساده تا مفاهیم پیشرفته تحلیل داده مورد بررسی قرار گرفته شده است.
مخاطبان این دوره میتوانند از هر سطح تجربه از مبتدی تا حرفهای در زمینه دادههای حجیم باشند. افرادی که علاقه به بهبود مهارتهای برنامهنویسی خود در محیط اسپارک دارند یا به دنبال افزایش دانش در زمینه تحلیل دادهها با استفاده از اسپارک هستند، میتوانند از این دوره بهرهمند شوند. برخی از مخاطبان این دوره:
- برنامهنویسان و توسعهدهندگان:
- برنامهنویسانی که به دنبال یادگیری یک فریمورک قدرتمند برای پردازش داده و تحلیل آن هستند. این دوره با استفاده از زبان برنامهنویسی Python، نحوه برنامهنویسی با اسپارک را به طور جامع آموزش میدهد.
- متخصصان علوم داده و تحلیل داده:
- افرادی که مایل به گسترش دانش خود در زمینه تحلیل داده و استفاده از ابزارهای پیشرفته مانند اسپارک هستند. این دوره به طور جزئی و کامل به مفاهیم تحلیل داده با استفاده از اسپارک میپردازد.
- مهندسان داده:
- مهندسان داده که میخواهند مهارتهای خود در پردازش دادههای حجیم را با استفاده از اسپارک بهبود دهند و به عنوان یک متخصص حرفهای در زمینه دادههای بزرگ شناخته شوند.
- پژوهشگران علوم کامپیوتر و دادهکاوی:
- این دوره برای پژوهشگرانی که به دنبال ابزارهای پیشرفته برای پردازش دادهها و انجام تحقیقات در زمینه دادهکاوی هستند، بسیار مناسب است.
- افرادی که با عنوان مهندس داده قصد مهاجرت شغلی دارند:
- همانطور که در بالاتر اشاره شد، فریمورک اسپارک، یکی از پرکاربردترین ابزار در مهندسی داده میباشد و یادگیری آن برای افرادی که قصد مهاجرت شغلی با عنوان مهندس داده دارند، بسیار کمککننده و الزامی میباشد.
- دانشجویان و افراد علاقهمند به یادگیری فناوریهای نوین:
- دانشجویان و افرادی که به دنبال یادگیری یک فریمورک پردازش داده پیشرفته هستند و میخواهند با استفاده از اسپارک به چالشهای علمی مختلف بپردازند.
پیش نیاز ها
آشنایی با مفاهیم پردازش داده: آشنایی با مفاهیم اصولی دادهها و پردازش آنها میتواند پیشنیاز مفیدی برای این دوره باشد. اگرچه تمام مباحث از ابتدا توضیح داده خواهد شد. خلاصه کتاب مبانی مهندسی داده در قسمت خلاصه های کتاب بسیار کمک کننده است.
آشنایی کامل با زبان برنامهنویسی پایتون: این دوره مبتنی بر زبان پایتون میباشد و به همین دلیل یکی از پیشنیازهای این دوره آشنایی با زبان پایتون میباشد.
مطمئن شوید که پیشنیازهای فوق را به دقت مد نظر داشته باشید تا بتوانید بهترین بهره را از دوره ببرید و مفاهیم آموزش داده شده را به راحتی درک کنید.
جلسات
Section1 - Introduction to Spark Ecosystems and Architectures
1.1.Why Spark
1.2.Bigdata EcoSystem
1.3.Spark Architecture and EcoSystem
1.4.Download Spark and Dependencies
Section2 - Install Spark on Windows
2.1.Java Setup on Window
2.2.Python Setup on Window
2.3.Spark Setup on Window
2.4.Install Jupyter Notebooks
2.5.PySpark Test Program
2.6.The Spark Web UI
Section3 - Install Spark on Linux
3.1.Java Setup on Linux
3.2.Python Setup on Linux
3.3.Spark Setup on Linux
3.4.Install Jupyter Notebooks
3.5.PySpark Test Program
3.6.The Spark Web UI
Section4 - Introduction to DataBricks
4.1.DataBricks SignUp
4.2.Register Account on Databricks
4.3.Create DataBricks Notebook
4.4.Create a Databricks Cluster
4.5.Creating our First 2 Databricks Notebooks
Section5 - Introduction to Google Colab
5.1.Colab SignUp
5.2.Create Colab Notebook
Section6 -Spark RDDs
6.1.Links for the Course’s Materials and Codes
6.2.Spark RDDs
6.3.Creating Spark RDD
6.4.Running Spark Code Locally
6.5.Transformations – RDD Map (Lambda)
6.6.Transformations – RDD Map (Simple Function)
6.7.Transformations – RDD FlatMap
6.8.Transformations – RDD Filter
6.9.Transformations – RDD Distinct
6.10.Transformations – RDD GroupByKey
6.11.Transformations – RDD ReduceByKey
6.12.Transformations – Aggregations
6.13.Transformations – Sorting
6.14.Transformations – Ranking
6.15.Transformations – Set
6.16.Transformations – Sampling
6.17.Transformations – What is Partition
6.18.Transformations – Repartition and Sort
6.19.Transformations – Coalesce
6.20.Transformations – Repartition Vs Coalesce
6.21.Transformations – Join Types
6.22.Actions – Total Aggregation
6.23.RDD (saveAsTextFile)
6.24.RDD (Partition)
6.25.Shuffle and Combiner
6.26.RDD Persistence
6.27.Broadcast Variable
6.28.Accumulator Variable
Section7 -Spark DFs
7.1.Links for the Course’s Materials and Codes
7.2.Introduction to Spark DFs
7.3.Creating Spark DFs
7.4.Spark Infer Schema
7.5.Spark Provide Schema
7.6.DataFrame Extraction – CSV, text, Parquet, Orc, Json, Avro, Hive, JDBC
7.7.Spark DF Select and Filter rows
7.8.Select DF Colums
7.9.Spark DF withColumn
7.10.Adding, Renaming and Dropping Columns
7.11.Spark DF withColumnRenamed and Alias
7.12.Spark DF (Count, Distinct, Duplicate)
7.13.Spark DF (sort, orderBy)
7.14.Spark DF (Group By)
7.15.Spark DF (Group By – Multiple Columns and Aggregations)
7.16.Spark DF (Group By -Visualization)
7.17.Spark DF (Group By – Filtering)
7.18.Spark DF – writing SQL Commands
7.19.Spark DF (UDFs)
7.20.Spark SQL Datatypes
7.21.Spark DF (DF to RDD)
7.22.Create DF from Rdd
7.23.Spark DF (Write DF)
7.24.Rectifying the Error
7.25.Spark DF Catalog
7.26.newSession and stop
7.27.Need of Repartition and Coalesce
7.28.Repartition Vs Coalesce Method of a DataFrame
7.29.Distinct Drop Duplicates Order By
7.30.Working with Missing or Bad Data
7.31.Rearrange the Schema
7.32.Write Partitioned DataFrame to Parquet
Section8 - DataFrame Features
8.1.DataFrame Features – Distributed
8.2.DataFrame Features – Lazy Evaluation.
8.3.DataFrame Features – Immutability
8.4.DataFrame APIs Window
8.5.DataFrame APIs Sampling Functions
Section9 - DataFrame Built-in Functions
9.1.DataFrame Built-in Functions Introduction
9.2.DataFrame Built-in Functions – New Column Functions
9.3.DataFrame Built-in Functions – Column Encryption
9.4.DataFrame Built-in Functions – String Functions
9.5.DataFrame Built-in Functions – RegExp Functions
9.6.DataFrame Built-in Functions – Date Functions
9.7.DataFrame Built-in Functions – Null Functions
9.8.DataFrame Built-in Functions – Collection Functions
9.9.DataFrame Built-in Functions – Math and Statistics Functions
9.10.DataFrame Built-in Functions – Explode and Flatten Functions
9.11.DataFrame Built-in Functions – Formatting Functions
9.12.DataFrame Built-in Functions – Json Functions