Get in Touch

Course Outline

  1. Scala Primer

    • Quick introduction to Scala
    • Labs: Getting familiar with Scala
  2. Spark Basics

    • Background and history
    • Spark and Hadoop
    • Core concepts and architecture
    • Spark ecosystem (core, Spark SQL, MLlib, Streaming)
    • Labs: Installing and running Spark
  3. First Look at Spark

    • Running Spark in local mode
    • Spark Web UI
    • Spark Shell
    • Analyzing datasets – Part 1
    • Inspecting RDDs
    • Labs: Exploring the Spark Shell
  4. Resilient Distributed Datasets (RDDs)

    • RDD concepts
    • Partitions
    • RDD operations and transformations
    • RDD types
    • Key-Value pair RDDs
    • MapReduce patterns on RDDs
    • Caching and persistence
    • Labs: Creating and inspecting RDDs; Caching RDDs
  5. Spark API Programming

    • Introduction to the Spark API / RDD API
    • Submitting the first program to Spark
    • Debugging and logging
    • Configuration properties
    • Labs: Programming with the Spark API; Submitting jobs
  6. Spark SQL

    • SQL support in Spark
    • DataFrames
    • Defining tables and importing datasets
    • Querying DataFrames using SQL
    • Storage formats: JSON / Parquet
    • Labs: Creating and querying DataFrames; Evaluating data formats
  7. MLlib

    • Introduction to MLlib
    • MLlib algorithms
    • Labs: Writing MLlib applications
  8. GraphX

    • GraphX library overview
    • GraphX APIs
    • Labs: Processing graph data using Spark
  9. Spark Streaming

    • Streaming overview
    • Evaluating Streaming platforms
    • Streaming operations
    • Sliding window operations
    • Labs: Writing Spark Streaming applications
  10. Spark and Hadoop

    • Hadoop Introduction (HDFS / YARN)
    • Hadoop + Spark architecture
    • Running Spark on Hadoop YARN
    • Processing HDFS files using Spark
  11. Spark Performance and Tuning

    • Broadcast variables
    • Accumulators
    • Memory management & caching
  12. Spark Operations

    • Deploying Spark in production
    • Sample deployment templates
    • Configurations
    • Monitoring
    • Troubleshooting

Requirements

PRE-REQUISITES

Familiarity with at least one programming language: Java, Scala, or Python (laboratory exercises are conducted in Scala and Python).
Basic understanding of the Linux development environment, including command-line navigation and file editing using VI or nano.

 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories