Building Blocks

This section covers the core abstractions in the Cask Data Application Platform (CDAP): Data and Applications.

An Application is a collection of application building blocks that read and write data through the data abstraction layer in CDAP.

Data abstractions include:

Applications are composed from these program building blocks:

Additional abstractions include:

  • An Artifact is a jar file that packages the Java Application class, as well as any other classes and libraries needed to create and run an Application.
  • All of the program building blocks follow a Program Lifecycle.
  • Metadata—consisting of properties (a list of key-value pairs) or tags (a list of keys)—can be set for artifacts, applications, programs, datasets, streams, and views. These can be retrieved and searched, and the metadata used to discover CDAP entities. Access of these entities is tracked, and you can view the lineage of datasets and streams. With a lineage diagram, you can then drill down into the metadata of its nodes.
  • Audit Logging provides a chronological ledger containing evidence of operations or changes on CDAP entities. This information can be used to capture a trail of the activities that determined the state of an entity at a given point in time.
  • A Namespace is a logical grouping of application and data in CDAP. Conceptually, namespaces can be thought of as a partitioning of a CDAP instance. All applications and data live in an explicit CDAP namespace.
  • The Transaction System is an essential service that provides ACID (atomicity, consistency, isolation, and durability) guarantees, critical in applications where data accuracy is required.
  • The Transactional Messaging System is a CDAP service that provides a "publish-and-subscribe" messaging system that understands transactions.
  • Secure Keys allows users to store and retrieve sensitive information such as passwords from secure and encrypted storage.

For a high-level view of the concepts of the Cask Data Application Platform, see the platform overview.

For information beyond this section, see the Javadocs and the code in the examples directory, both of which are available at the Cask.co resources page, as well as in your CDAP Sandbox installation directory.