Your browser is out of date

Update your browser to view this website correctly. Update my browser now



Scala is a programming language that is a superset of Java, blending the object-oriented and the functional programming paradigms. The language is complex and could take a semester or more to master. This class focuses only on the elements that are necessary to be able to program in Cloudera’s training courses. 

Immersive Training

Through instructor-led discussion or OnDemand videos, as well as hands-on exercises, participants will learn:

  • What Scala is and how it differs from languages such as Java or Python

  • Why Scala is a good choice for Spark programming

  • How to use key language features such as data types, collections, and flow control

  • How to implement functional programming solutions in Scala

  • How to work with Scala classes, packages, and libraries Working with libraries 

Audience and prerequisites

Basic knowledge of programming concepts such as objects, conditional statements, and looping is required. This course is best suited to students with Java programming experience. Those with experience in another language may prefer the Just Enough Python course. Basic knowledge of Linux is assumed.

Please note that this course does not teach big data concepts, nor does it cover how to use Cloudera software. Instead, it is meant as a precursor for one of our developer-focused training courses that provide those skills. 

Book the course

How would you like to train?

Take the next step - Spark and Hadoop Developer Training

Scala and Python developers learn key concepts and expertise participants need to ingest and process data on a Cloudera cluster using the most up-to-date tools and techniques, including Apache Spark, Impala, Hive, Flume, and Sqoop.

Learn More

Course Contents


  • Scala Overview
  • Introducing Scala
  • Scala’s Role in Distributed

Data Processing

  • The Motivation for Scala

Scala Basics

  • Key Scala Concepts
  • Programming in Scala
  • Putting Scala Basics to Work

Working with Data Types

  • Overview of Scala Variables
  • Operating with Numeric Types
  • Building Boolean Expressions
  • Working with Strings

Grouping Data Together

  • Storing Elements of Different Types
  • Overview of Scala Collection Types
  • Creating a Collection of Unique Elements
  • Fast Access to Head of Collection
  • Fast Access to Arbitrary Elements
  • Fast Access with a Key
  • Common Collection Type Conversions

Flow Control in Scala

  • Looping
  • Using Iterators
  • Writing Functions
  • Passing Functions as Arguments
  • Collection Iteration Methods
  • Pattern Matching
  • Processing Data with Partial Functions

Using and Creating Libraries

  • Using Classes and Objects
  • Creating and Using Packages
  • Importing Part of a Package


Cloudera Developer Training was great. I believe Cloudera is the best vendor evangelizing the big data movement. Thanks for all your help getting me started on this journey.

Cisco Systems

Learn more

The path to certification

This course is excellent introductory preparation for the Cloudera Developer Training for Spark and Hadoop. Although we recommend further training and hands-on experience before attempting the exam, you are taking the first step towards CCA Certification

Certification is a great differentiator. It helps establish you as a leader in the field, providing employers and customers with tangible evidence of your skills and expertise.

Advance your career

Big data developers are among the world's most in-demand and highly-compensated technical roles. Check out some of the job opportunities currently listed that match the professional profile, many of which seek CCA qualification.

Private training

We also provide private training at your site, at your pace, and tailored to your needs.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.