Chapter 16. Data Engineering != Spark
Jesse Anderson
The misconception that Apache Spark is all you’ll need for your data pipeline is common.1 The reality is that you’re going to need components from three general types of technologies to create a data pipeline. These three general types of big data technologies are:
Computation
Storage
Messaging
Fixing and remedying this misconception is crucial to success with big data projects or one’s own learning about big data. Spark is just one part of a larger big data ecosystem that’s necessary to create data pipelines.
Put another way:
- Data Engineering = Computation + Storage + Messaging + Coding + Architecture + Domain Knowledge + Use Cases
Batch and Real-Time Systems
Generally, you have to solve two core problems in a batch data pipeline. The first is computation, and the second is the storage of data. Spark is a good solution for handling batch computation, but it can be more difficult to find the right storage sollution—or more correctly, too identify the different and optimized storage technologies for your use case.
Computation Component
Computation is how your data gets processed. Computation frameworks are responsible for running the algorithms and the majority of your code. For big data, they’re responsible for resource allocation, running the code in a distributed fashion, and persisting the results.
Storage Component ...
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