Chapter 2. Using reactive tools
This chapter covers
- Managing uncertainty with Scala
- Implementing supervision and fault tolerance with Akka
- Using Spark and MLlib as frameworks for distributed machine learning pipelines
To get ready to build full-scale reactive machine learning systems, you need to get familiar with a few tools from the Scala ecosystem: Scala itself, Akka, and Spark. In this book, we’ll write applications in Scala because it provides excellent support for functional programming and has been used successfully in building reactive systems of all kinds. Sometimes, you’ll find that Akka can be useful as a tool for providing resilience and elasticity through its implementation of the actor model. Other times, you’ll want to use Spark to build large-scale pipeline jobs like feature extraction and model learning. In this chapter, you’ll just start to get familiar with these tools, and beginning with chapter 3, I’ll show you how they can be used to build the various components of a reactive machine learning system.