Application Overview


Cortex applications consist of declarative resource configuration written in YAML as well as Python code to implement aggregators, transformers, and models. Each resource has a kind:

With the exception of the app kind (which must be defined in a top-level app.yaml file), resources may be defined in any YAML file within your Cortex application folder or any subdirectories.

The cortex deploy command will validate all resource configuration and attempt to create the requested state on the cluster.

Execution pipeline

Cortex processes resources in the following order:

  1. Raw Columns

  2. Aggregates

  3. Transformed Columns

  4. Models

  5. APIs

If resource configuration changes, Cortex attempts to reuse cached resources whenever possible.

Below is an example execution DAG encompassing all possible resource dependencies: