Skip to main content
Version: 3.0.0

Flow

A flow is the primary unit of execution in Ascend and contains a collection of components assembled into a directed acyclic graph (DAG).

Examples

flow:
name: "Simple Flow"
description: "This is a simple flow with only a name and description."

Flow

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

PropertyDefaultTypeRequiredDescription
flowFlowOptionsYes

Property Details

FlowOptions

Defines the options for a Flow

PropertyDefaultTypeRequiredDescription
namestring
NoThe name of the model
descriptionstring
NoA brief description of what the model does.
metadataResourceMetadata
NoMeta information of a resource. In most cases it doesn't affect the system behavior but may be helpful to analyze project resources.
parametersobject
NoDictionary of parameters to use for resource.
defaultsarray[ConfigFilter]
NoList of default configs with filters that can be applied to a resource config.
data_planeDataPlane
NoData plane to use for the flow.
versionstring
NoThe version of the flow.
bootstrapstring
NoBootstrap command to run within the Docker container.
runnerascendstring
NoRunner id to use for running the flow. defaults to 'ascend'

ConfigFilter

A filter used to target configuration settings to a specific flow and/or component.

PropertyDefaultTypeRequiredDescription
kindstring ("Flow", "Component")YesThe kind of the resource to apply the config to.
nameAny of:
  string
  array[string]
  RegexFilter
  array[RegexFilter]
YesName of the resource to apply the config to.
flow_namestring
NoName of the flow to apply the config to.
specAny of:
  FlowSpec
  ComponentSpec
NoDictionary of parameters to use for the resource.

ComponentSpec

Specification for configuration applied to a component at runtime based on the config filter.

PropertyDefaultTypeRequiredDescription
data_plane  One of:
    SnowflakeDataPlane
    BigQueryDataPlane
    DuckdbDataPlane
    SynapseDataPlane
NoData Plane-specific configuration options for a component.
skipFalsebooleanNo

FlowSpec

Specification for configuration applied to a flow at runtime based on the config filter.

PropertyDefaultTypeRequiredDescription
data_planeDataPlaneNoThe data plane that will be used for the flow at runtime.

DataPlane

The external warehouse where data is persisted throughout the flow runs, and where primary computation on the data itself occurs.

PropertyDefaultTypeRequiredDescription
connection_namestring
No
metadata_storage_location_prefixstring
NoPrefix to prepend to the names of metadata tables created for this flow. The prefix may include database/project/etc and schema/dataset/etc where applicable. If not provided, metadata tables are stored alongside the output data tables per the data plane's connection configuration.

RegexFilter

A filter used to target resources based on a regex pattern.

PropertyDefaultTypeRequiredDescription
regexstringYesThe regex to filter the resources.

BigQueryDataPlane

PropertyDefaultTypeRequiredDescription
bigqueryBigQueryDataPlaneOptionsYesBigQuery configuration options.

BigQueryDataPlaneOptions

PropertyDefaultTypeRequiredDescription
partition_byAny of:
  BigQueryRangePartitioning
  BigQueryTimePartitioning
NoPartition By clause for the table.
cluster_byarray[string]
NoClustering keys to be added to the table.

BigQueryRangePartitioning

PropertyDefaultTypeRequiredDescription
fieldstringYesField to partition by.
rangeRangeOptionsYesRange partitioning options.

BigQueryTimePartitioning

PropertyDefaultTypeRequiredDescription
fieldstringYesField to partition by.
granularitystring ("DAY", "HOUR", "MONTH", "YEAR")YesGranularity of the time partitioning.

DuckdbDataPlane

PropertyDefaultTypeRequiredDescription
duckdb
DuckDbDataPlaneOptionsNoDuckdb configuration options.

DuckDbDataPlaneOptions

No properties defined.

RangeOptions

PropertyDefaultTypeRequiredDescription
startintegerYesStart of the range partitioning.
endintegerYesEnd of the range partitioning.
intervalintegerYesInterval of the range partitioning.

SnowflakeDataPlane

PropertyDefaultTypeRequiredDescription
snowflakeSnowflakeDataPlaneOptionsYesSnowflake configuration options.

SnowflakeDataPlaneOptions

PropertyDefaultTypeRequiredDescription
cluster_byarray[string]
NoClustering keys to be added to the table.

SynapseDataPlane

PropertyDefaultTypeRequiredDescription
synapse
SynapseDataPlaneOptionsNoDuckdb configuration options.

SynapseDataPlaneOptions

No properties defined.

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
sourceResourceLocation
NoThe 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.