Skip to main content

Application Component

Specification for an application component. An application component is generated by invoking a reusable Application, producing derived Components.

ApplicationComponent

info

ApplicationComponent is defined beneath the following ancestor nodes in the YAML structure:

Below are the properties for the ApplicationComponent. Each property links to the specific details section further down in this page.

PropertyDefaultTypeRequiredDescription
skipboolean
NoBoolean flag indicating whether to skip processing for the Component or not.
retry_strategyNoRetry strategy configuration options for the Component if any exceptions are encountered.
descriptionstring
NoA brief description of what the model does.
metadataNoMeta information of a resource. In most cases it doesn't affect the system behavior but may be helpful to analyze project resources.
namestringYesThe name of the model
flow_namestring
NoName of the Flow that the Component belongs to.
applicationYesConfiguration options for Application Component.

Property Details

Component

A Component is a fundamental building block of a data Flow. Supported Component types include: Read, Transform, Task, Test, and more.

PropertyDefaultTypeRequiredDescription
componentOne of:
  CustomPythonReadComponent
  ApplicationComponent
  AliasedTableComponent
  ExternalTableComponent
YesComponent configuration options.

ApplicationComponentOptions

PropertyDefaultTypeRequiredDescription
dependenciesarray[None]
NoList of dependencies that must complete before this Component runs.
application_idstringYesReference to the Application resource that generates derived Components.
configobject with property values of type NoneYesConfiguration passed to the Application to generate derived Components.
componentsarray[string]NoNames of the generated derived Components.

ResourceMetadata

Meta information of a resource. In most cases, it doesn't affect the system behavior but may be helpful to analyze Project resources.

PropertyDefaultTypeRequiredDescription
sourceNoThe origin or source information for the resource.
source_event_uuidstring
NoUUID of the event that is associated with creation of this resource.

ResourceLocation

The origin or source information for the resource.

PropertyDefaultTypeRequiredDescription
pathstringYesPath within repository files where the resource is defined.
first_line_numberinteger
NoFirst line number within path file where the resource is defined.

RetryStrategy

Retry strategy configuration for Component operations. This configuration leverages the tenacity library to implement robust retry mechanisms. The configuration options directly map to tenacity's retry parameters. Details on the tenacity library can be found here: https://tenacity.readthedocs.io/en/latest/api.html#retry-main-api Current implementation includes: - stop_after_attempt: Maximum number of retry attempts - stop_after_delay: Give up on retries one attempt before you would exceed the delay. Will need to supply at least one of the two parameters. Additional retry parameters will be added as needed to support more complex use cases.

PropertyDefaultTypeRequiredDescription
stop_after_attemptinteger
NoThe number of attempts before giving up, if None is set, will not stop after any attempts.
stop_after_delayinteger
NoGive up on retries one attempt before you would exceed the delay, if None is set, will not stop after any attempts.

InputComponent

Specification for input Components defining how partitioning behaviors should be handled. This metadata is required when a Component serves as an input to other Components within a Flow.

PropertyDefaultTypeRequiredDescription
flowstringYesName of the parent Flow that the input Component belongs to.
namestringYesName of the input Component.
aliasstring
NoAlias to use for the input Component.
partition_specAny of:
  string ("full_reduction", "map")
NoThe type of partitioning to apply to the component's input data before processing the component's logic. Input partitioning is applied before the component's logic is executed.
wherestring
NoOptional filter condition to apply to the input Component's data.
partition_bindingAny of:
  string
NoOptional partition binding specification to apply to the Component on a per-output-partition basis against other inputs' partitions.

PartitionBinding

PropertyDefaultTypeRequiredDescription
logical_operatorlogical_operatorstring ("AND", "OR")NoTLogical operator to use to combine the partition binding predicates provided
predicatespredicatesarray[string]NoList of partition binding predicates to apply to the input Component's data

RepartitionSpec

Specification for repartitioning operations on input Component's data

PropertyDefaultTypeRequiredDescription
repartitionNoOptions for repartitioning the input Component's data.

RepartitionOptions

Options for repartitioning the input Component's data.

PropertyDefaultTypeRequiredDescription
partition_bystringYesColumn to partition by.
granularitystringYesGranularity to use for the partitioning.