About the Course
The LearnChase Apache Spark & Scala course will enable learners to understand how Spark enables in-memory data processing and runs much faster than Hadoop MapReduce. Learners learn about RDDs, different APIs which Spark offers such as Spark Streaming, MLlib, SparkSQL, GraphX. This LearnChase course is an integral part of a developer’s learning path.
After completing the Apache Spark & Scala course, you will be able to:
1) Understand Scala and its implementation
2) Apply Control Structures, Loops, Collection, and more.
3) Master the concepts of Traits and OOPS in Scala
4) Understand functional programming in Scala
5) Get an insight into the big data challenges
6) Learn how Spark acts as a solution to these challenges
7) Install Spark and implement Spark operations on Spark Shell
8) Understand the role of RDDs in Spark
9) Implement Spark applications on YARN (Hadoop)
10) Stream data using Spark Streaming API
11) Implement machine learning algorithms in Spark using MLlib API
12) Analyze Hive and Spark SQL architecture
13) Implement SparkSQL queries to perform several computations
14) Understand GraphX API and implement graph algorithms
15) Implement Broadcast variable and Accumulators for performance tuning
Who should go for this Course?
This course is a foundation to anyone who aspires to embark into the field of big data and keep abreast of the latest developments around fast and efficient processing of ever-growing data using Spark and related projects. The course is ideal for:
1. Big Data enthusiasts
2. Software architects, engineers and developers
3. Data Scientists and analytics professionals
What are the pre-requisites for this Course?
A basic understanding of functional programming and object oriented programming will help. Knowledge of Scala will definitely be a plus, but is not mandatory.
Project Name: Drop-page of signal during Roaming
Industry: Telecom Industry
Problem Statement: You will be given a CDR (Call Details Record) file, you need to find out top 10 customers facing frequent call drops in Roaming. This is a very important report which telecom companies use to prevent customer churn out, by calling them back and at the same time contacting their roaming partners to improve the connectivity issues in specific areas.
Why learn Apache Spark?
In this era of ever growing data, the need for analyzing it for meaningful business insights is paramount. There are different big data processing alternatives like Hadoop, Spark, Storm and many more. Spark, however is unique in providing batch as well as streaming capabilities, thus making it a preferred choice for lightening fast big data analysis platforms.
1. Introduction to Scala for Apache Spark
Learning Objectives – In this module, you will understand the basics of Scala that are required for programming Spark applications. You can learn about the basic constructs of Scala such as variable types, control structures, collections, and more.
Topics – What is Scala? Why Scala for Spark? Scala in other frameworks, introduction to Scala REPL, basic Scala operations, Variable Types in Scala, Control Structures in Scala, Foreach loop, Functions, Procedures, Collections in Scala- Array, ArrayBuffer, Map, Tuples, Lists, and more.
2. OOPS and Functional Programming in Scala
Learning Objectives – In this module, you will learn about object oriented programming and functional programming techniques in Scala.
Topics – Class in Scala, Getters and Setters, Custom Getters and Setters, Properties with only Getters, Auxiliary Constructor, Primary Constructor, Singletons, Companion Objects, Extending a Class, Overriding Methods, Traits as Interfaces, Layered Traits, Functional Programming, Higher Order Functions, Anonymous Functions, and more.
3. Introduction to Big Data and Apache Spark
Learning Objectives – In this module, you will understand what is big data, challenges associated with it and the different frameworks available. The module also includes a first-hand introduction to Spark.
Topics – Introduction to big data, challenges with big data, Batch Vs. Real Time big data analytics, Batch Analytics – Hadoop Ecosystem Overview, Real-time Analytics Options, Streaming Data – Spark, In-memory data – Spark, What is Spark?, Spark Ecosystem, modes of Spark, Spark installation demo, overview of Spark on a cluster, Spark Standalone cluster, Spark Web UI.
4. Spark Common Operations
Learning Objectives – In this module, you will learn how to invoke Spark Shell and use it for various common operations.
Topics – Invoking Spark Shell, creating the Spark Context, loading a file in Shell, performing basic Operations on files in Spark Shell, Overview of SBT, building a Spark project with SBT, running Spark project with SBT, local mode, Spark mode, caching overview, Distributed Persistence.
5. Playing with RDDs
Learning Objectives – In this module, you will learn one of the fundamental building blocks of Spark – RDDs and related manipulations for implementing business logics.
Topics – RDDs, transformations in RDD, actions in RDD, loading data in RDD, saving data through RDD, Key-Value Pair RDD, MapReduce and Pair RDD Operations, Spark and Hadoop Integration-HDFS, Spark and Hadoop Integration-Yarn, Handling Sequence Files, Partitioner.
6. Spark Streaming and MLlib
Learning Objectives – In this module, you will learn about the major APIs that Spark offers. You will get an opportunity to work on Spark streaming which makes it easy to build scalable fault-tolerant streaming applications, MLlib which is Spark’s machine learning library.
Topics – Spark Streaming Architecture, first Spark Streaming Program, transformations in Spark Streaming, fault tolerance in Spark Streaming, checkpointing, parallelism level, machine learning with Spark, data types, algorithms – statistics, classification and regression, clustering, collaborative filtering.
7. GraphX, SparkSQL and Performance Tuning in Spark
Learning Objectives – In this module, you will learn about Spark SQL that is used to process structured data with SQL queries, graph analysis with Spark, GraphX for graphs and graph-parallel computation. You will also0 get a chance to learn the various ways to optimize performance in Spark.
Topics – Analyze Hive and Spark SQL architecture, SQLContext in Spark SQL, working with DataFrames, implementing an example for Spark SQL, integrating hive and Spark SQL, support for JSON and Parquet File Formats, implement data visualization in Spark, loading of data, Hive queries through Spark, testing tips in Scala, performance tuning tips in Spark, shared variables: Broadcast Variables, Shared Variables: Accumulators.
8. A complete project on Apache Spark
Learning Objectives – In this module, you will get an opportunity to work on a live Spark project where you can implement the learnings from previous modules hands-on, and solve a real-time use case.
Problem Statement: Design a system to replay the real time replay of transactions in HDFS using Spark.
1. Spark Streaming
2. Kafka (for messaging)
3. HDFS (for storage)
4. Core Spark API (for aggregation)
- 10 Days
- 0 Units
- 0 Hrs