The intend of this wiki page is to document the key concepts around CDAP Application.
Application
A CDAP Application consists of two parts
- A bundle JAR file
- Consists of name and version
- Meta data (application specification)
- Collections of program specifications
- Collections of properties
- For each program
- Also can have global properties that belongs to the application itself and is visible to all programs
Application extended by cloning. Conceptually it is like prototypal inheritance. There is no class (template), only instance (Application).
Properties
There are three places where property values can be defined:
- When application is defined
- Per cluster (preferences store)
- When program starts (runtime arguments)
When a program runs, property values defined in all these places should be merged to form a single set of properties with the precedence of
Application defined < Preferences store < Runtime arguments