Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Apache Spark In-Depth (Spark with Scala)
Rating: 4.6 out of 5(529 ratings)
31,399 students

Apache Spark In-Depth (Spark with Scala)

Apache Spark In-Depth (Spark with Scala)
Created byHarish Masand
Last updated 11/2023
English
English [Auto],

What you'll learn

  • Apache Spark from scratch to in-depth, starting from simple word count program to Batch Processing to Spark Structure Streaming, Performance Tuning, Optimization, Application Development and Deployment.
  • Completing this course will also make you ready for most interview questions
  • Includes Optional Project and path to success

Course content

1 section27 lectures40h 41m total length
  • Introduction to Data Engineering Career Path1:46

    Outline the data engineering career path through learning tracks like Hadoop, Spark with Scala, Flume, and optional cloud options such as Azure Data Fundamentals.

  • Day 1 - Introduction to Spark2:00:41

    Learn how Apache Spark evolved as a unified, in-memory computing engine for batch, streaming, SQL, and machine learning on clusters, complementing and evolving Hadoop ecosystems.

  • Day 2 - Introduction to Spark1:43:46

    Explore Spark's evolution from RDD to high level data frames and datasets, learn lazy transformations and actions, and master partitions, executors, and streaming with structured streaming.

  • Day 3 - Spark Installation on Linux VM1:54:14

    Install Spark on a Linux VM, choosing a ready-made Cloudera QuickStart VM or a manual setup; learn to import appliances, enable virtualization, and configure Ubuntu 20.04 with Oracle VirtualBox.

  • Day 4 - RDD Day 11:51:13

    Explore the why and how of RDD in Spark with Scala, including immutability, partitioning, and the transformation and action model, plus legacy code and tight data control.

  • Day 5 - RDD Day 22:06:03

    Day 5 extends RDD Day 2, applying map, flatMap, and randomSplit to create training and test data, with word count and basic machine learning workflows in Spark with Scala.

  • Day 6 - RDD Day 32:01:10

    Explore advanced rdds in spark with scala, including map and map partitions transformations, cache and persist strategies, checkpointing, and key-value rdds with mapvalues, keys, and values.

  • Day 7 - RDD Day 41:38:26

    Explore Spark RDD Day 4 concepts, including key-value pairs, map and flatMap values, lookups, grouping by key, reduce by key, aggregate by key, and joins.

  • Day 8 - RDD Day 51:34:49

    Explore rdd day 5 essentials: zip transformations, coalescing versus repartition, and how partitioning, including hash and range, and custom partitioning affect shuffling and performance.

  • Day 9 - Dataframe Day 11:30:38

    Explore the evolution of Spark data structures from RBD to data frame and dataset, compare fixed schema and schema inference, and learn about logical and physical query plans.

  • Day 10 - Dataframe Day 22:21:41

    Master dataframe operations in Spark with Scala by loading and viewing data, defining and casting schemas, selecting and aliasing columns, and creating views to run sql queries.

  • Day 11 - Dataframe Day 31:32:24

    Learn to load a car dataset with Spark dataframes, infer schema, create views, and perform SQL-like queries, including derived mileage columns and basic data cleansing techniques.

  • Day 12 - Dataframe Day 42:00:26

    Master working with complex dataframes in Spark using Scala: define and inspect schemas, handle nested structures and arrays, explode fields, and implement user-defined functions for custom transformations.

  • Day 13 - Dataframe Day 51:40:25

    Explore Spark dataframe joins, from inner and outer joins to semi, anti, natural, and cross joins, with memory, shuffle, and broadcast considerations.

  • Day 14 - Dataframes Day 61:41:14

    Explore reading and converting data from CSV, JSON, and Parquet using Spark dataframes, compare row-based and columnar storage, and optimize with partitioning, bucketing, and predicate pushdown.

  • Day 15 - Dataframes - Spark SQL2:04:43

    Explore spark sql and dataframes, bridging hive and sql concepts, with practical steps to create databases, tables, views, and temporary and global views, and manage metadata.

  • Day 16 - Datasets51:48

    Explains Spark datasets versus dataframes, detailing compile-time schema checks in Scala and Java, Python absence, and slower yet safer validation for datasets.

  • Day 17 - Spark Application Development and Deployment2:04:46

    Learn spark application development and deployment, from writing jobs with spark session, driver and executors, to transformations and actions, deployed via spark-submit in local or cluster mode.

  • Day 18 - Spark Application Development and Deployment1:55:15
  • Day 19 - Performance Tuning and Optimization1:17:15

    Master Spark performance tuning with Scala by optimizing memory, shuffles, joins, caching, repartitioning, and garbage collection; compare data frames and data sets and Kryo vs Java serialization for throughput.

  • Day 20 - Common Errors and Debugging1:13:23

    Explore common Apache Spark errors and debugging techniques across the application lifecycle, including driver and executor roles, memory and shuffle issues, partitions, joins, and logs from the spark UI.

  • Day 21 - Spark Streaming D 149:34

    Explore Spark streaming and structured streaming concepts, including event time vs processing time, micro-batches versus continuous processing, and challenges like out-of-order data, exactly-once processing, and joins.

  • Day 22 - Spark Streaming D 21:52:49

    Explore building streaming pipelines with Spark structured streaming, reading from sources like Kafka or socket, applying transformations, and writing to DFS or console with exactly-once semantics.

  • Day 23 - Spark Streaming D 31:35:24

    Master Spark streaming checkpoints and automatic state management, apply windowed and watermarking techniques for stateful processing, handle late data and deduplicate events via event-time concepts.

  • Day 24 - Project47:46

    Design a capstone data ingestion and transformation pipeline using a framework, driven by configuration and a readme, integrating sources like Cassandra, Elasticsearch, and Kafka, exploring batch and streaming modes.

  • Day 25 - What Next, Job Assistance and How to Prepare for Interview27:13

    Learn four steps to secure Spark with Scala job support: study documentation, build and document a data project, review examples, and record a configuration demonstration video.

  • Career Guidance2:50

    Explore a data engineering career with Hadoop, Spark with Scala, Kafka, and Java basics; learn optional cloud tools and receive personalized projects, resume help, and interview guidance.

Requirements

  • No Pre-requisite required. Curiosity to learn new technology.
  • Good to know: Hadoop Basics and Scala Basics.
  • Excellent if you have completed my below 2 data engineering courses: "Big Data Hadoop and Spark with Scala" and "Scala Programming In-Depth"

Description

Learn Apache Spark From Scratch To In-Depth


From the instructor of successful Data Engineering courses on "Big Data Hadoop and Spark with Scala" and "Scala Programming In-Depth"


  • From Simple program on word count to Batch Processing to Spark Structure Streaming.

  • From Developing and Deploying Spark application to debugging.

  • From Performance tuning, Optimization to Troubleshooting


Contents all you need for in-depth study of Apache Spark and to clear Spark interviews.


Taught in very simple English language so any one can follow the course very easily.


No Prerequisites, Good to know basics about Hadoop and Scala


Perfect place to start learning Apache Spark


Apache Spark is a unified analytics engine for big data processing, with built-in modules for streaming, SQL, machine learning and graph processing.


Speed

Run workloads 100x faster.

Apache Spark achieves high performance for both batch and streaming data, using a state-of-the-art DAG scheduler, a query optimizer, and a physical execution engine.


Ease of Use

Write applications quickly in Java, Scala, Python, R, and SQL.

Spark offers over 80 high-level operators that make it easy to build parallel apps. And you can use it interactively from the Scala, Python, R, and SQL shells.


Generality

Combine SQL, streaming, and complex analytics.

Spark powers a stack of libraries including SQL and DataFrames, MLlib for machine learning, GraphX, and Spark Streaming. You can combine these libraries seamlessly in the same application.


Runs Everywhere

Spark runs on Hadoop, Apache Mesos, Kubernetes, standalone, or in the cloud. It can access diverse data sources.


Who this course is for:

  • People looking to advance their career in Data Engineering, Big Data, Hadoop, Spark
  • Already working on Big Data Hadoop/ Spark and want to clear the concepts