Chapter 12. Spark Components and Packages
Spark has many components designed to work together as an integrated system, and many of them are distributed as part of Spark. This differs from much of the rest of the Hadoop ecosystem, which has different projects or systems for each task. You’ve already seen how to effectively use Spark Core, SQL, Streaming, and ML components. This chapter will look at the projects outside of Spark itself, sometimes called external/community components (often called packages). Having a largely integrated system gives Spark two advantages: it simplifies deployment/cluster management, upgrades, and application development by having fewer dependencies and systems to keep track of.
While Spark is comparatively integrated, there are still times when bringing in outside components is well worth the increased complexity. In this chapter, we’ll help you develop a framework for evaluating the trade-offs of bringing in external or third-party components into your Spark package. We’ll also share some of our views about Spark’s internal packages, as they are not all equally maintained.
Even early versions of Spark provided tools that traditionally would have required the coordination of multiple systems, as illustrated in Figure 12-1.
Figure 12-1. Spark components diagram
As Datasets and the Spark SQL engine have become a building block for other components inside ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access