As an application developer building a Big Data application, you are primarily concerned with five areas:

A CDAP application consists of combinations of these components:

This diagram illustrates a typical Big Data application:

It illustrates the power of data abstraction in CDAP: a stream is not just a means to collect data. It can be consumed by real-time and batch processing at the same time. Similarly, datasets allow sharing of data between programs of different paradigms, real time or batch, without compromising the consistency of the data, because all data access happens under ACID (Atomicity, Consistency, Isolation, and Durability) guarantees.