From Beginner to Advance Level

Quick Code
May 16, 2018 · 11 min read

Apache Spark gives us unlimited ability to build cutting-edge applications. It is also one of the most compelling technologies of the last decade in terms of its disruption to the big data world.

Apache Scala Spark provides in-memory cluster computing which greatly boosts the speed of iterative algorithms and interactive data mining tasks.

Apache Spark is the next-generation processing engine for big data.

Tons of companies are adapting Apache Spark to extract meaning from massive data sets, today you have access to that same big data technology right on your desktop.

Apache Spark is becoming a must tool for big data engineers and data scientists.

1. Learn By Example: Scala

  • Scala is cool because its all the rage for big data applications, and because it manages to be more sophisticated and elegant than Java.
  • That said, Java is a steady, reliable friend — a language you can depend upon, and in which you can express yourself.
  • These 65 examples will help you trust Scala the way you trust Java. Each is self-contained, has its source code attached, and gets across a specific Scala use-case. Each example is simple, but not simplistic.

2. Functional Programming in Scala

This course provides a hands-on introduction to functional programming using programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs.

You will see how the functional paradigm facilitates parallel and distributed programming, and through a series of hands on examples and programming assignments, you’ll learn how to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark.

In this course you will learn:

  • Write purely functional programs using recursion, pattern matching, and higher-order functions
  • Write programs that effectively use parallel collections to achieve performance
  • Design immutable data structures
  • Manipulate data with Spark and Scala

3. Learn Scala from Scratch

This course will teach how to program in Scala and advantages of learning scala such as building scalable programs easily and effectively , combines functional programming and object-oriented programming into one flexible package. This course provides free preview lessons.

At the end of course, you will become master of scala and will stay ahead of the curve, make awesome, scalable apps. It’s a statically typed, high-level language.

4. Stairway to Scala Applied, Part 1

Introduction to programming in the Scala language. Core syntax and concepts.

After taking Stairway to Scala part 1, you will be able to:

  • Use the REPL (the Scala Interactive Shell) for experimentation and fun
  • Understand the basics of Scala syntax, including val, var, def, if, while, try, for and more
  • Create classes, objects and instances
  • Define and use function literals and higher order functions
  • Understand the basics of Scala’s type inference and how to use it
  • Write custom control structures to augment those built into the language
  • Start down the path of a more functional style of programming
  • Be ready for Part 2 of Stairway to Scala Applied, which will dig into some of the differences between Scala and other languages

The course is half theory, half practice with hands on coding exercises built around test driven development examples. If you complete all three parts, with all the exercises, you will find that in addition to a strong grounding in the language theory, you will have the practical skills and comfort to code in Scala, as well as having the tools necessary to do so.

The course is taught by two highly experienced Scala developers who use Scala on a daily basis for real world commercial projects, and have done so for several years each.

5. Rock the JVM! Scala and Functional Programming for Beginners

Learn what it takes to get you ready to code reactive applications with Scala, Akka, Spark and more.

In this course, we will learn the basics of Scala and functional programming, two highly in-demand topics in software industry today.

Why Scala:

  • it’s currently the hottest language based on the Java Virtual Machine — the number of Scala jobs has exploded, but demand is even higher
  • it offers significantly higher pay (> 20%) than same-level Java positions
  • it’s incredibly fun — if you learn Scala, you’ll hardly want to get back
  • it unlocks the doors to some of the latest technologies — Spark, Akka and more

This course you will learn,

  1. deconstructs Scala — which is otherwise hard to learn — into the critical pieces you need
  2. selects the most important concepts and separates them into what’s simple but critical and what’s powerful, but more advanced (Skill Vaults)
  3. sequences ideas in a way that “clicks” and makes sense throughout the process of learning

6. Apache Spark with Scala — Learn Spark from a Big Data Guru

Learn Apache Spark and Scala by 12+ hands-on examples of analyzing big data.

This course covers all the fundamentals about Apache Spark with Scala and teaches you everything you need to know about developing Apache Spark applications with Scala Spark. At the end of this course, you will gain in-depth knowledge about Apache Spark Scala and general big data analysis and manipulations skills to help your company to adapt Apache Scala Spark for building big data processing pipeline and data analytics applications.

This course covers 10+ hands-on big data examples involving Apache Spark. You will learn valuable knowledge about how to frame data analysis problems as Scala Spark problems. Together we will learn examples such as aggregating NASA Apache web logs from different sources; we will explore the price trend by looking at the real estate data in California; we will write

Scala Spark applications to find out the median salary of developers in different countries through the Stack Overflow survey data; we will develop a system to analyze how maker spaces are distributed across different regions in the United Kingdom. And much much more.

In particularly, you will learn:

  • An overview of the architecture of Apache Spark.
  • Develop Apache Spark 2.0 applications with Scala using RDD transformations and actions and Spark SQL.
  • Work with Apache Spark’s primary abstraction, resilient distributed datasets(RDDs) to process and analyze large data sets.
  • Deep dive into advanced techniques to optimize and tune Apache Spark jobs by partitioning, caching and persisting RDDs.
  • Scale up Apache Spark applications on a Hadoop YARN cluster through Amazon’s Elastic MapReduce service.
  • Analyze structured and semi-structured data using Datasets and DataFrames, and develop a thorough understanding of Apache Spark SQL.
  • Share information across different nodes on an Apache Spark cluster by broadcast variables and accumulators.
  • Best practices of working with Apache Spark Scala in the field.
  • Big data ecosystem overview.

This course is taught in Scala. Scala is the next generation programming language for functional programing that is growing in popularity and it is one of the most widely used languages in the industry to write Apache Spark programs.

7. Scala and Spark for Big Data and Machine Learning

Learn the latest Big Data technology — Spark and Scala, including Spark 2.0 DataFrames.

Learn how to utilize some of the most valuable tech skills on the market today, Scala and Spark! In this course we will show you how to use Scala and Spark to analyze Big Data.

Scala and Spark are two of the most in demand skills right now, and with this course you can learn them quickly and easily! This course comes packed with content:

  • Crash Course in Scala Programming
  • Spark and Big Data Ecosystem Overview
  • Using Spark’s MLlib for Machine Learning
  • Scale up Spark jobs using Amazon Web Services
  • Learn how to use Databrick’s Big Data Platform
  • and much more!

This course comes with full projects for you including topics such as analyzing financial data or using machine learning to classify Ecommerce customer behavior! We teach the latest methodologies of Spark 2.0 so you can learn how to use SparkSQL, Spark DataFrames, and Spark’s MLlib!

After completing this course you will feel comfortable putting Scala and Spark on your resume!

Thanks and I will see you inside the course!

8. Spark with Scala : Scala + Spark Core,SQL and Streaming

Learn Spark with Live Examples.

This course covers all the fundamentals you need to write complex Spark applications. By the end of this course you will get in-depth knowledge on Spark core,Spark SQL,Spark Streaming.

This course is divided into 9 modules

  1. Dive Into Scala — Understand the basics of Scala that are required for programming Spark applications.Learn about the basic constructs of Scala such as variable types, control structures, collections,and more.
  2. OOPS and Functional Programming in Scala — Learn about object oriented programming and functional programming techniques in Scala
  3. Introduction to Apache Spark — Learn Spark Architecture,Spark Components and spark use-cases
  4. Spark Basics — Learn how to configure/run spark in eclipse/intellij
  5. Working with RDDs in Spark — Learn what is Resilient Distributed Dataset,Different types of actions and transformations which can be applied on RDDs
  6. Aggregating Data with Pair RDDs — Learn how Pair RDD is different from RDD,Different types of actions and transformations which can be applied on Pair RDDs
  7. Advanced Spark Concepts — Learn how Spark uses Broadcast variables and Accumulators to perform calculations,how persistence and partitioning helps to achieve performance
  8. Spark SQL and Data Frames — Understand the difference between Dataframe and Dataset
  9. Spark Streaming — Learn how to analyse massive amount of dataset on the fly

All the concepts are explained using hands-on examples.This course covers 10+ hands-on big data examples such as

  • Explore player data from 2014 world cup
  • Agregate data from ebay online auction data
  • Understand different data points from Adhaar data
  • Develop application to analyse funds received by Indian startup
  • Explore the price trend by looking at the real estate data in California
  • Help retailer to find out valid and invalid purchase transactions of chain of stores in Bangalore
  • Write Spark program find out count of stores in each US region from USA states & Store locations data
  • Develop Spark Streaming application to perform Twitter Sentiment Analysis

30-day Money-back Guarantee! You will get 30-day money-back guarantee from Udemy for this course.

If not satisfied simply ask for a refund within 30 days. You will get a full refund. No questions whatsoever asked.

9. Scalable programming with Scala and Spark

Use Scala and Spark for data analysis, machine learning and analytics.

Taught by a 4 person team including 2 Stanford-educated, ex-Googlers and 2 ex-Flipkart Lead Analysts. This team has decades of practical experience in working with Java and with billions of rows of data.

Get your data to fly using Spark and Scala for analytics, machine learning and data science

Let’s parse that.

What’s Spark? If you are an analyst or a data scientist, you’re used to having multiple systems for working with data. SQL, Python, R, Java, etc. With Spark, you have a single engine where you can explore and play with large amounts of data, run machine learning algorithms and then use the same system to productionize your code.

Scala: Scala is a general purpose programming language — like Java or C++. It’s functional programming nature and the availability of a REPL environment make it particularly suited for a distributed computing framework like Spark.

Analytics: Using Spark and Scala you can analyze and explore your data in an interactive environment with fast feedback. The course will show how to leverage the power of RDDs and Dataframes to manipulate data with ease.

Machine Learning and Data Science : Spark’s core functionality and built-in libraries make it easy to implement complex algorithms like Recommendations with very few lines of code. We’ll cover a variety of datasets and algorithms including PageRank, MapReduce and Graph datasets.

What’s Covered:

Scala Programming Constructs: Classes, Traits, First Class Functions, Closures, Currying, Case Classes

Lot’s of cool stuff ..

  • Music Recommendations using Alternating Least Squares and the Audioscrobbler dataset
  • Dataframes and Spark SQL to work with Twitter data
  • Using the PageRank algorithm with Google web graph dataset
  • Using Spark Streaming for stream processing
  • Working with graph data using the Marvel Social network dataset

.. and of course all the Spark basic and advanced features:

  • Resilient Distributed Datasets, Transformations (map, filter, flatMap), Actions (reduce, aggregate)
  • Pair RDDs , reduceByKey, combineByKey
  • Broadcast and Accumulator variables
  • Spark for MapReduce
  • The Java API for Spark
  • Spark SQL, Spark Streaming, MLlib and GraphX

Who is the target audience?

  • Yep! Engineers who want to use a distributed computing engine for batch or stream processing or both
  • Yep! Analysts who want to leverage Spark for analyzing interesting datasets
  • Yep! Data Scientists who want a single engine for analyzing and modelling data as well as productionizing it.

10. Scala Advanced, Part 1 — The Scala Type System

Mutable State, Scala Type System In-Depth, Implicit.

Scala Advanced, Part 1

The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.

Part 1 provides in depth knowledge of the Scala type system, an important precursor to any library development. We start off with a look at the dangers, and safe use, of mutable shared state in Scala, covering properties and caching. From there we delve into the Scala type system including:

  • Generics
  • Co- and Contra-Variance
  • Upper and Lower Bounds
  • Type Inference
  • Type Parameters and Type Members
  • Path Dependent Types
  • Refinement Types
  • Structural Types
  • Recursive Types
  • F-bounded Polymorphism

The final two modules then move on to the secondary Implicits type system that augments the regular Scala type system, covering:

  • Simple Implicit Parameters
  • Type Classes
  • Implicit classes, objects and methods
  • Type Class Composition
  • Implicit Constraints
  • =:= and <:<
  • Implicit Class and Type Tags
  • Implicit Conversions
  • extends AnyVal

And more.

Parts 2 and 3 (available separately) cover topics like best practices, idioms, patterns, advanced functional programming, asynchronous programming, parser-combinators, macros, performance profiling and optimization, and much more. These parts rely on information presented during this advanced part 1 course.

11. Beginning Scala Programming

Gain a solid understanding of programming with Scala — A course for beginners.

This Scala training course from Infinite Skills teaches you everything you need to know about the Scala programming language. This course is designed for users that already have some programming experience.

You will start by learning the language basics of Scala, including sequences, recursion, and nesting functions. The course will then teach you about the object-oriented aspects of Scala, linearization of trait methods, and building and writing with XML. This video tutorial also covers text processing, parallelism and actors, and libraries for unit testing.

Once you have completed this computer based training course, you will have developed a solid working knowledge of the Scala programming language, and be able to start your own Scala-based project. Working files are included, allowing you to follow along with the author throughout the lessons.


Disclosure: We are affiliated with some of the resources mentioned in this article. We may get a small commission if you buy a course through links on this page. Thank you.

Quick Code

Find the best tutorials and courses for the web, mobile, chatbot, AR/VR development, database management, data science, web design and cryptocurrency. Practice in JavaScript, Java, Python, R, Android, Swift, Objective-C, React, Node Js, Ember, C++, SQL & more.

Thanks to BotsFloor

Quick Code

Written by

A list of best courses to learn programming, web, mobile, chatbot, AR/VR development, database management, data science, web design and cryptocurrency.

Quick Code

Find the best tutorials and courses for the web, mobile, chatbot, AR/VR development, database management, data science, web design and cryptocurrency. Practice in JavaScript, Java, Python, R, Android, Swift, Objective-C, React, Node Js, Ember, C++, SQL & more.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade