Scala Essentials for Data Engineers
Welcome to the world of data engineering with Scala. But why Scala? The following are some of the reasons for learning Scala:
- Scala provides type safety
- Big corporations such as Netflix and Airbnb have a lot of data pipelines written in Scala
- Scala is native to Spark
- Scala allows data engineers to adopt a software engineering mindset
Scala is a high-level general-purpose programming language that runs on a standard Java platform. It was created by Martin Odersky in 2001. The name Scala stands for scalable language, and it provides excellent support for both object-oriented and functional programming styles.
This chapter is meant as a quick introduction to concepts that the subsequent chapters build upon. Specifically, this chapter covers the following topics:
- Understanding functional programming
- Understanding objects, classes, and traits
- Higher-order functions (HOFs)
- Examples of HOFs from the Scala collection library
- Understanding polymorphic functions
- Variance
- Option types
- Collections
- Pattern matching
- Implicits in Scala