Apache Spark یکی از سریعترین و کارآمدترین موتورهای عمومی برای پردازش داده در مقیاس بزرگ است. در این دوره آموزشی، یاد خواهید گرفت که چگونه با استفاده از پایتون و یک توزیع پایدار Hadoop، Cloudera CDH، برنامههای Spark را برای Big Data خود توسعه دهید.
آنچه خواهید آموخت:
در هسته اصلی کار با مجموعه دادههای بزرگ، دانش کاملی از Big Data پلتفرمها مانند Apache Spark و Hadoop است. در این دوره آموزشی، توسعه برنامههای Spark با پایتون و کلودرا، یاد میگیرید که چگونه دادهها را در مقیاسهایی که قبلاً فکر میکردید دور از دسترس شما هستند پردازش کنید. ابتدا، تمام جزئیات فنی نحوه عملکرد Spark را خواهید آموخت. در مرحله بعد، RDD API، انتزاع اصلی اصلی Spark را بررسی خواهید کرد. در نهایت، متوجه خواهید شد که چگونه با استفاده از Spark SQL و DataFrames ماهرتر شوید. پس از اتمام این دوره، دانش پایهای در مورد Apache Spark با پایتون و کلودرا خواهید داشت که به شما کمک میکند تا برنامههای داده در مقیاس بزرگ را توسعه دهید که به شما امکان میدهد با Big Data به صورت کارآمد و کارآمد کار کنید. روش اجرایی
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Why Spark with Python and Cloudera? [12mins]
02-01 Version Check [0mins]
02-02 Why Spark with Python and Cloudera? [1mins]
02-03 But Why Apache Spark? [2mins]
02-04 Brief History of Spark [3mins]
02-05 What We Will Cover in This Training [2mins]
02-06 Picking a Spark Supported Language: Python, Scala, Java, or R [1mins]
02-07 What Do You Need for This Course? [2mins]
02-08 Takeaway [1mins]
03 Getting an Environment & Data: CDH + StackOverflow [42mins]
03-01 Getting an Environment and Data: CDH + StackOverflow [2mins]
03-02 Prerequisites and Known Issues [2mins]
03-03 Upgrading Cloudera Manager and CDH [6mins]
03-04 Installing or Upgrading to Java 8 (JDK 1.8) [4mins]
03-05 Getting Spark - There Are Several Options: 1.6 [3mins]
03-06 Getting Spark 2 Standalone [3mins]
03-07 Installing Spark 2 on Cloudera [6mins]
03-08 Bonus -> IPython with Anaconda: Supercharge Your PySpark Shell [7mins]
03-09 Data: StackOverflow and StackExchange Dumps + Demo Files [3mins]
03-10 Preparing Your Big Data [4mins]
03-11 Takeaway [2mins]
04 Refreshing Your Knowledge: Python Fundamentals for This Course [30mins]
04-01 Refreshing Your Knowledge: Python Fundamentals for This Course [1mins]
04-02 Python`s History, Philosophy, and Paradigm [3mins]
04-03 The Python Shell: REPL [3mins]
04-04 Syntax, Variables, (Dynamic) Types, and Operators [7mins]
04-05 Compound Variables: Lists, Tuples, and Dictionaries [5mins]
04-06 Code Blocks, Functions, Loops, Generators, and Flow Control [5mins]
04-07 Map, Filter, Group, and Reduce [2mins]
04-08 Enter PySpark: Spark in the Shell [2mins]
04-09 Takeaway [2mins]
05 Understanding Spark: An Overview [29mins]
05-01 Understanding Spark: An Overview [3mins]
05-02 Spark, Word Count, Operations, and Transformations [2mins]
05-03 A Few Words on Fine Grained Transformations and Scalability [2mins]
05-04 Word Count in "Not Big Data" [2mins]
05-05 How Word Count Works, Featuring Coarse Grained Transformations [4mins]
05-06 Parallelism by Partitioning Data [3mins]
05-07 Pipelining: One of the Secrets of Spark`s Performance [2mins]
05-08 Narrow and Wide Transformations [4mins]
05-09 Lazy Execution, Lineage, Directed Acyclic Graph (DAG), and Fault Tolerance [4mins]
05-10 The Spark Libraries and Spark Packages [2mins]
05-11 Takeaway [1mins]
06 Getting Technical with Spark [45mins]
06-01 Getting Technical: Spark Architecture [3mins]
06-02 Storage in Spark and Supported Data Formats [3mins]
06-03 Let`s Talk APIs: Low-level and High-level Spark APIs [4mins]
06-04 Performance Optimizations: Tungsten and Catalyst [3mins]
06-05 SparkContext and SparkSession: Entry Points to Spark Apps [4mins]
06-06 Spark Configuration + Client and Cluster Deployment Modes [6mins]
06-07 Spark on Yarn: The Cluster Manager [3mins]
06-08 Spark with Cloudera Manager and YARN UI [4mins]
06-09 Visualizing Your Spark App: Web UI and History Server [8mins]
06-10 Logging in Spark and with Cloudera [2mins]
06-11 Navigating the Spark and Cloudera Documentation [4mins]
06-12 Takeaway [1mins]
07 Learning the Core of Spark: RDDs [41mins]
07-01 Learning the Core of Spark: RDDs [2mins]
07-02 SparkContext: The Entry Point to a Spark Application [3mins]
07-03 RDD and PairRDD - Resilient Distributed Datasets [4mins]
07-04 Creating RDDs with Parallelize [4mins]
07-05 Returning Data to the Driver, i.e. collect(), take(), first()... [4mins]
07-06 Partitions, Repartition, Coalesce, Saving as Text, and HUE [3mins]
07-07 Creating RDDs from External Datasets [10mins]
07-08 Saving Data as PickleFile, NewAPIHadoopFile, SequenceFile, ... [5mins]
07-09 Creating RDDs with Transformations [3mins]
07-10 A Little Bit More on Lineage and Dependencies [1mins]
07-11 Takeaway [2mins]
08 Going Deeper into Spark Core [46mins]
08-01 Going Deeper into Spark Core [1mins]
08-02 Functional Programming: Anonymous Functions (Lambda) in Spark [1mins]
08-03 A Quick Look at Map, FlatMap, Filter, and Sort [5mins]
08-04 How I Can Tell It Is a Transformation [1mins]
08-05 Why Do We Need Actions? [1mins]
08-06 Partition Operations: MapPartitions and PartitionBy [7mins]
08-07 Sampling Your Data [2mins]
08-08 Set Operations: Join, Union, Full Right, Left Outer, and Cartesian [5mins]
08-09 Combining, Aggregating, Reducing, and Grouping on PairRDDs [8mins]
08-10 ReduceByKey vs. GroupByKey: Which One Is Better? [1mins]
08-11 Grouping Data into Buckets with Histogram [3mins]
08-12 Caching and Data Persistence [2mins]
08-13 Shared Variables: Accumulators and Broadcast Variables [5mins]
08-14 Developing Self-contained PySpark Application, Packages, and Files [1mins]
08-15 Disadvantages of RDDs - So What`s Better? [1mins]
08-16 Takeaway [2mins]
09 Increasing Proficiency with Spark: DataFrames & Spark SQL [39mins]
09-01 Increasing Proficiency with Spark: DataFrames & Spark SQL [1mins]
09-02 "Everyone" Uses SQL and How It All Began [3mins]
09-03 Hello DataFrames and Spark SQL [3mins]
09-04 SparkSession: The Entry Point to the Spark SQL and DataFrame API [2mins]
09-05 Creating DataFrames [3mins]
09-06 DataFrames to RDDs and Viceversa [3mins]
09-07 Loading DataFrames: Text and CSV [2mins]
09-08 Schemas: Inferred and Programatically Specified + Option [5mins]
09-09 More Data Loading: Parquet and JSON [4mins]
09-10 Rows, Columns, Expressions, and Operators [2mins]
09-11 Working with Columns [2mins]
09-12 More Columns, Expressions, Cloning, Renaming, Casting, & Dropping [4mins]
09-13 User Defined Functions (UDFs) on Spark SQL [3mins]
09-14 Takeaway [2mins]
10 Continuing the Journey on DataFrames and Spark SQL [36mins]
10-01 Querying, Sorting, and Filtering DataFrames: The DSL [5mins]
10-02 What to Do with Missing or Corrupt Data [4mins]
10-03 Saving DataFrames [6mins]
10-04 Spark SQL: Querying Using Temporary Views [4mins]
10-05 Loading Files and Views into DataFrames Using Spark SQL [2mins]
10-06 Saving to Persistent Tables + Spark 2 Known Issue [2mins]
10-07 Hive Support and External Databases [5mins]
10-08 Aggregating, Grouping, and Joining [5mins]
10-09 The Catalog API [1mins]
10-10 Takeaway [2mins]
11 Understanding a Typed API: Datasets Works with Scala, Not Python [6mins]
11-01 Understanding a Typed API: Datasets; Works with Scala, Not Python [1mins]
11-02 Got Scala? [1mins]
11-03 A Quick Look at Datasets [3mins]
11-04 Takeaway [1mins]
12 Final Takeaway and Continuing the Journey with Spark [11mins]
12-01 Final Takeaway [6mins]
12-02 Continuing the Journey with Spark [5mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 چرا جرقه با پایتون و کلودرا؟ [12 دقیقه]
02-01 بررسی نسخه [0 دقیقه]
02-02 چرا جرقه با پایتون و کلودرا؟ [1 دقیقه]
02-03 اما چرا آپاچی اسپارک؟ [2 دقیقه]
02-04 تاریخچه مختصر اسپارک [3 دقیقه]
02-05 آنچه در این آموزش پوشش خواهیم داد [2 دقیقه]
02-06 انتخاب زبان پشتیبانی شده Spark- Python، Scala، Java یا R [1 دقیقه]
02-07 برای این دوره به چه چیزی نیاز دارید؟ [2 دقیقه]
02-08 غذای آماده [1 دقیقه]
03 دریافت محیط و داده- CDH + StackOverflow [42 دقیقه]
03-01 دریافت محیط و داده- CDH + StackOverflow [2 دقیقه]
03-02 پیش نیازها و مسائل شناخته شده [2 دقیقه]
03-03 ارتقا مدیر کلودرا و CDH [6 دقیقه]
03-04 نصب یا ارتقا به جاوا 8 (JDK 1.8) [4 دقیقه]
03-05 Getting Spark - چندین گزینه وجود دارد- 1.6 [3 دقیقه]
03-06 دریافت Spark 2 مستقل [3 دقیقه]
03-07 نصب Spark 2 در Cloudera [6 دقیقه]
03-08 جایزه -» IPython با آناکوندا- پوسته PySpark خود را شارژ کنید [7 دقیقه]
03-09 داده ها- StackOverflow و StackExchange Dumps + فایلهای نمایشی [3 دقیقه]
03-10 آمادهسازی کلان داده شما [4 دقیقه]
03-11 غذای آماده [2 دقیقه]
04 تازه کردن دانش شما- اصول پایتون برای این دوره [30 دقیقه]
04-01 تازه کردن دانش شما- اصول پایتون برای این دوره [1 دقیقه]
04-02 تاریخچه، فلسفه و پارادایم پایتون [3 دقیقه]
04-03 پوسته پایتون- REPL [3 دقیقه]
04-04 نحو، متغیرها، انواع (دینامیک) و عملگرها [7 دقیقه]
04-05 متغیرهای مرکب- فهرستها، تاپلها و دیکشنریها [5 دقیقه]
04-06 بلوکهای کد، توابع، حلقهها، ژنراتورها و کنترل جریان [5 دقیقه]
04-07 نقشه، فیلتر، گروه و کاهش [2 دقیقه]
04-08 PySpark را وارد کنید- Spark in the Shell [2 دقیقه]
04-09 غذای آماده [2 دقیقه]
05 درک جرقه- مروری [29 دقیقه]
05-01 درک جرقه- مروری [3 دقیقه]
05-02 جرقه، تعداد کلمات، عملیات، و تحولات [2 دقیقه]
05-03 چند کلمه در مورد دگرگونیهای ریز دانه و مقیاس پذیری [2 دقیقه]
05-04 تعداد کلمات در `دادههای بزرگ` [2 دقیقه]
05-05 شمارش کلمات چگونه کار میکند، با تبدیلهای درشت دانه [4 دقیقه]
05-06 موازیسازی با پارتیشنبندی دادهها [3 دقیقه]
05-07 Pipelining- یکی از رازهای عملکرد اسپارک [2 دقیقه]
05-08 تحولات باریک و گسترده [4 دقیقه]
05-09 اجرای تنبل، خط و نسب، گراف غیر چرخهای جهت دار (DAG) و تحمل خطا [4 دقیقه]
05-10 کتابخانههای اسپارک و بستههای اسپارک [2 دقیقه]
05-11 غذای آماده [1 دقیقه]
06 فنی با Spark [45 دقیقه]
06-01 دریافت فنی- معماری اسپارک [3 دقیقه]
06-02 ذخیرهسازی در Spark و فرمتهای داده پشتیبانی شده [3 دقیقه]
06-03 Lets Talk API- سطح پایین و سطح بالا Spark API [4 دقیقه]
06-04 بهینهسازی عملکرد- تنگستن و کاتالیزور [3 دقیقه]
06-05 SparkContext و SparkSession- نقاط ورودی به Spark Apps [4 دقیقه]
06-06 پیکربندی Spark + حالتهای استقرار کلاینت و کلاستر [6 دقیقه]
06-07 Spark on Yarn- The Cluster Manager [3 دقیقه]
06-08 Spark with Cloudera Manager و YARN UI [4 دقیقه]
06-09 تجسم برنامه Spark شما- رابط کاربری وب و سرور تاریخچه [8 دقیقه]
06-10 ورود به Spark و با Cloudera [2 دقیقه]
06-11 پیمایش در اسناد Spark و Cloudera [4 دقیقه]
06-12 غذای آماده [1 دقیقه]
07 یادگیری هسته جرقه- RDDs [41 دقیقه]
07-01 یادگیری هسته جرقه- RDDs [2 دقیقه]
07-02 SparkContext- نقطه ورود به یک برنامه Spark [3 دقیقه]
07-03 RDD و PairRDD - مجموعه دادههای توزیعشده انعطافپذیر [4 دقیقه]
07-04 ایجاد RDD با Parallelize [4 دقیقه]
07-05 بازگرداندن اطلاعات به درایور، یعنی collect()، take()، first()... [4mins]
07-06 پارتیشن، پارتیشن مجدد، ادغام، ذخیره به عنوان متن و HUE [3 دقیقه]
07-07 ایجاد RDD از مجموعه دادههای خارجی [10 دقیقه]
07-08 ذخیره دادهها به عنوان PickleFile، NewAPIHadoopFile، SequenceFile، ... [5 دقیقه]
07-09 ایجاد RDD با تبدیل [3 دقیقه]
07-10 کمی بیشتر در مورد نسب و وابستگیها [1 دقیقه]
07-11 غذای آماده [2 دقیقه]
08 عمیقتر رفتن به Spark Core [46 دقیقه]
08-01 عمیقتر رفتن به Spark Core [1 دقیقه]
08-02 برنامه نویسی تابعی- توابع ناشناس (لامبدا) در Spark [1 دقیقه]
08-03 نگاهی سریع به نقشه، نقشه مسطح، فیلتر و مرتبسازی [5 دقیقه]
08-04 چگونه میتوانم بگویم این یک تحول است [1 دقیقه]
08-05 چرا به اقدامات نیاز داریم؟ [1 دقیقه]
08-06 عملیات پارتیشن- MapPartitions و PartitionBy [7 دقیقه]
08-07 نمونه برداری از دادههای شما [2 دقیقه]
08-08 تنظیم عملیات- پیوستن، اتحاد، راست کامل، چپ بیرونی و دکارتی [5 دقیقه]
08-09 ترکیب، جمعآوری، کاهش و گروهبندی در PairRDDها [8 دقیقه]
08-10 ReduceByKey در مقابل GroupByKey- کدام یک بهتر است؟ [1 دقیقه]
08-11 گروهبندی دادهها در سطلها با هیستوگرام [3 دقیقه]
08-12 حافظه پنهان و ماندگاری داده [2 دقیقه]
08-13 متغیرهای مشترک- انباشتهکنندهها و متغیرهای پخش [5 دقیقه]
08-14 توسعه برنامه، بستهها و فایلهای PySpark مستقل [1 دقیقه]
08-15 معایب RDD - پس چه چیزی بهتر است؟ [1 دقیقه]
08-16 غذای آماده [2 دقیقه]
09 افزایش مهارت با Spark- DataFrames و Spark SQL [39 دقیقه]
09-01 افزایش مهارت با Spark- DataFrames و Spark SQL [1 دقیقه]
09-02 `همه` از SQL و نحوه شروع آن استفاده میکنند [3 دقیقه]
09-03 Hello DataFrames و Spark SQL [3 دقیقه]
09-04 SparkSession- نقطه ورود به Spark SQL و API DataFrame [2 دقیقه]
09-05 ایجاد DataFrame [3 دقیقه]
09-06 DataFrames به RDD و Viceversa [3 دقیقه]
09-07 بارگیری DataFrames- متن و CSV [2 دقیقه]
09-08 طرحواره ها- استنباط شده و مشخص شده از طریق برنامه + گزینه [5 دقیقه]
09-09 بارگیری دادههای بیشتر- پارکت و JSON [4 دقیقه]
09-10 سطرها، ستونها، عبارات و عملگرها [2 دقیقه]
09-11 کار با ستونها [2 دقیقه]
09-12 ستونها، عبارات، شبیهسازی، تغییر نام، ریختهگری و حذف بیشتر [4 دقیقه]
09-13 توابع تعریف شده کاربر (UDF) در Spark SQL [3 دقیقه]
09-14 غذای آماده [2 دقیقه]
10 ادامه سفر در DataFrames و Spark SQL [36 دقیقه]
10-01 پرس و جو، مرتبسازی و فیلتر کردن قابهای داده- DSL [5 دقیقه]
10-02 با دادههای از دست رفته یا خراب چه کنیم [4 دقیقه]
10-03 ذخیره دیتا فریم [6 دقیقه]
10-04 Spark SQL- پرس و جو با استفاده از نماهای موقت [4 دقیقه]
10-05 بارگیری فایلها و نماها در DataFrame با استفاده از Spark SQL [2 دقیقه]
10-06 ذخیره در جداول ثابت + Spark 2 Issues Known [2mins]
10-07 پشتیبانی Hive و پایگاههای داده خارجی [5 دقیقه]
10-08 جمعآوری، گروهبندی و پیوستن [5 دقیقه]
10-09 کاتالوگ API [1 دقیقه]
10-10 غذای آماده [2 دقیقه]
11 درک یک API تایپ شده- مجموعه دادهها با اسکالا کار میکنند، نه پایتون [6 دقیقه]
11-01 درک یک API تایپ شده- مجموعه داده ها. با اسکالا کار میکند، نه پایتون [1 دقیقه]
11-02 اسکالا را دارید؟ [1 دقیقه]
11-03 نگاهی سریع به مجموعه دادهها [3 دقیقه]
11-04 غذای آماده [1 دقیقه]
12 غذای نهایی و ادامه سفر با اسپارک [11 دقیقه]
12-01 غذای آماده نهایی [6 دقیقه]
12-02 ادامه سفر با اسپارک [5 دقیقه]
خاویر به تدریس بسیار علاقه مند است و به دیگران کمک میکند تا جستجو و دادههای بزرگ را درک کنند. او همچنین یک کارآفرین، مدیر پروژه، نویسنده فنی، مربی است و دارای چندین گواهینامه با Cloudera، Microsoft و Scrum Alliance و همچنین MVP مایکروسافت است. او بخش زیادی از دوران حرفهای خود را صرف پروژههای پیشرفته با تمرکز اصلی بر روی داتنت، Solr و Hadoop در میان چند فناوری جالب دیگر کرده است. او در طول پروژههای متعدد، مهارتهایی را برای مقابله با راهحلهای نرمافزاری پیچیده سازمانی، کار با شرکتهایی که از استارتآپها گرفته تا مایکروسافت را شامل میشود، به دست آورده است. خاویر همچنین به عنوان v-trainer/evangelist در سراسر جهان برای مایکروسافت کار کرد.