Mastering Scala with Apache Spark for the Modern Data Enterprise

Guided by our expert instructor, you’ll explore the fundamentals of Scala programming and Apache Spark while gaining valuable hands-on experience with Spark programming, RDDs, DataFrames, Spark SQL, and data sources. You’ll also explore Spark Streaming, performance optimization techniques, and the integration of popular external libraries, tools, and cloud platforms like AWS, Azure, and GCP. Machine learning enthusiasts will delve into Spark MLlib, covering basics of machine learning algorithms, data preparation, feature extraction, and various techniques such as regression, classification, clustering, and recommendation systems. You’ll also gain experience working with graph processing using Spark GraphX, as well as innovative generative AI technologies, integrating GPT with Spark and Scala for practical applications. Time permitting, you will also be introduced to Spark NLP, covering text preprocessing, classification, and sentiment analysis. With a focus on practical skills and best practices, you'll work on interesting learning objectives and gain hands-on experience with innovative tools in a live, interactive environment.

Retail Price: $2,795.00

Next Date: Request Date

Course Days: 5


Request a Date

Request Custom Course


Learning Objectives

Working in a hands-on learning environment led by our expert instructor you’ll:

  • Develop a basic understanding of Scala and Apache Spark fundamentals, enabling you to confidently create scalable and high-performance applications.
  • Learn how to process large datasets efficiently, helping you handle complex data challenges and make data-driven decisions.
  • Gain hands-on experience with real-time data streaming, allowing you to manage and analyze data as it flows into your applications.
  • Acquire practical knowledge of machine learning algorithms using Spark MLlib, empowering you to create intelligent applications and uncover hidden insights.
  • Master graph processing with GraphX, enabling you to analyze and visualize complex relationships in your data.
  • Discover generative AI technologies using GPT with Spark and Scala, opening up new possibilities for automating content generation and enhancing data analysis.

 

Audience & Pre-Requisites

This intermediate and beyond level course is geared for experienced technical professionals in various roles, such as developers, data analysts, data engineers, software engineers, and machine learning engineers who want to leverage Scala and Spark to tackle complex data challenges and develop scalable, high-performance applications across diverse domains. Practical programming experience is required to participate in the hands-on labs.

In order to be successful in this course you should possess:

  • Basic understanding of Java programming: Familiarity with Java syntax, data structures, and concepts, such as variables, loops, and conditionals.
  • Fundamental knowledge of object-oriented programming (OOP): Experience with OOP principles, such as inheritance, encapsulation, and polymorphism, in any programming language.
  • Familiarity with data structures and algorithms: A basic grasp of common data structures, such as arrays, lists, and maps, as well as an understanding of simple algorithms, like sorting and searching.
  • Experience with distributed systems: Basic awareness of distributed computing concepts, such as data partitioning, parallel processing, and fault tolerance.
  • Basic knowledge of databases: Understanding of database concepts, including data storage, querying, and manipulation using SQL or NoSQL databases.

Course Agenda

 

Course Topics / Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.

 

Getting Started with Scala and Spark

  1. Introduction to Scala
  • Brief history and motivation
  • Differences between Scala and Java
  • Basic Scala syntax and constructs
  • Scala's functional programming features
  1. Introduction to Apache Spark
  • Overview and history
  • Spark components and architecture
  • Spark ecosystem
  • Comparing Spark with other big data frameworks
  • Lab: Practice basic Scala syntax and functional programming concepts using the REPL.
  • Setting up the Development Environment
  1. Basics of Spark Programming SparkContext and SparkSession
  • Resilient Distributed Datasets (RDDs)
  • Transformations and Actions
  • Working with DataFrames
  1. Spark SQL and Data Sources
  • Spark SQL library and its advantages
  • Structured and semi-structured data sources
  • Reading and writing data in various formats (CSV, JSON, Parquet, Avro, etc.)
  • Data manipulation using SQL queries
  • Lab: Setting up the Environment and Running a Simple Spark Application.
  • Lab: Load and query data from different data sources using Spark SQL.

Data Processing and Spark Programming

  1. Basic RDD Operations
  • Creating and manipulating RDDs
  • Common transformations and actions on RDDs
  • Working with key-value data
  1. Basic DataFrame and Dataset Operations
  • Creating and manipulating DataFrames and Datasets
  • Column operations and functions
  • Filtering, sorting, and aggregating data
  • Lab: RDD and DataFrame Operations
  1. Introduction to Spark Streaming
  • Overview of Spark Streaming
  • Discretized Stream (DStream) operations
  • Windowed operations and stateful processing
  1. Performance Optimization Basics
  • Best practices for efficient Spark code
  • Broadcast variables and accumulators
  • Monitoring Spark applications
  1. Integrating External Libraries and Tools, Spark Streaming
  • Using popular external libraries, such as Hadoop and HBase
  • Integrating with cloud platforms: AWS, Azure, GCP
  • Connecting to data storage systems: HDFS, S3, Cassandra, etc.
  • Lab: Building an End-to-End Spark Application: Create a Spark application to process a large dataset, perform aggregations, and save the results.
  • Lab: Implement a simple Spark Streaming application to process real-time data.

Machine Learning Basics with Spark MLlib

  1. Introduction to Machine Learning Basics
  • Overview of machine learning
  • Supervised and unsupervised learning
  • Common algorithms and use cases
  1. Introduction to Spark MLlib
  • Overview of Spark MLlib
  • MLlib's algorithms and utilities
  • Data preparation and feature extraction
  • Lab: Data Preparation with Spark MLlib
  1. Linear Regression and Classification
  • Linear regression algorithm
  • Logistic regression for classification
  • Model evaluation and performance metrics
  1. Clustering Algorithms
  • Overview of clustering algorithms
  • K-means clustering
  • Model evaluation and performance metrics
  1. Collaborative Filtering and Recommendation Systems
  • Overview of recommendation systems
  • Collaborative filtering techniques
  • Implementing recommendations with Spark MLlib
  • Lab: Basic Machine Learning with Spark MLlib
  • Lab: Implementing a Recommendation System

Graph Processing and Generative AI Technologies

  1. Introduction to Graph Processing
  • Overview of graph processing
  • Use cases and applications of graph processing
  • Graph representations and operations
  • Introduction to Spark GraphX
  • Overview of GraphX
  • Creating and transforming graphs
  • Graph algorithms in GraphX
  • Lab: Graph Processing with GraphX
  1. Big Data Innovation! Using GPT and Generative AI Technologies with Spark and Scala
  • Overview of generative AI technologies
  • Integrating GPT with Spark and Scala
  • Practical applications and use cases

Bonus Topics / Time Permitting

  1. Introduction to Spark NLP
  • Overview of Spark NLP
  • Preprocessing text data
  • Text classification and sentiment analysis
  • Lab: Generative AI Technologies and Spark NLP: Integrate GPT for text generation in a Spark application and explore basic NLP tasks using Spark NLP.
  • Lab: Text Classification with Spark NLP
  1. Putting It All Together
  • Work on a capstone project that integrates multiple aspects of the course, including data processing, machine learning, graph processing, and generative AI technologies.


Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com


Request a Date