Skip to main content

Profile

A Profile is a set of configuration options and parameters that define the target where customer code is compiled/run.

Examples

profile:
parameters:
param1: value1
param2: value2

Profile

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

PropertyDefaultTypeRequiredDescription
profileYesOptions and parameters for Profiles.

Property Details

ProfileOptions

Configuration options and parameters for Profiles.

PropertyDefaultTypeRequiredDescription
pip_packagesarray[string]
NoPython PIP packages to install
parametersobject with property values of type None
NoDictionary of parameters to use for resource.
defaultsarray[None]
NoList of default configs with filters that can be applied to a resource config.
descriptionstring
NoBrief 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
ignorearray[string]NoAdditional ignore patterns to apply when using this profile (follows .gitignore syntax)

ConfigFilter

Filter used to target configuration settings to a specific Flow and/or Component.

PropertyDefaultTypeRequiredDescription
kindstring ("Flow", "Component")YesResource kind to target with this configuration.
nameAny of:
  string
  array[string]
  array[None]
YesName of the resource to target with this configuration.
flow_nameAny of:
  string
  array[string]
  array[None]
NoName of the Flow to target with this configuration.
specAny of:
NoDictionary of parameters to use for the resource.

ComponentSpec

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

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.
data_maintenanceNoThe data maintenance configuration options for the Component.
data_plane  One of:
    SnowflakeDataPlane
    BigQueryDataPlane
    DuckdbDataPlane
    DatabricksDataPlane
NoData Plane-specific configuration options for Components.

FlowSpec

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

PropertyDefaultTypeRequiredDescription
data_planeNoThe data plane that will be used for the flow at runtime.
runnerRunnerConfig
NoRunner configuration.
component_concurrencyinteger
NoMaximum number of concurrent Components to run within this Flow.

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.

RunnerConfig

Configuration for the flow runner

PropertyDefaultTypeRequiredDescription
sizeAny of:
  RuntimeSize
  CustomRuntimeSize
NoRuntime size configuration. Can be: (1) a tier name string (X-Small, Small, Medium, Large, X-Large), or (2) a CustomRuntimeSize object with tier-based or fully custom resources.

CustomRuntimeSize

Runtime size configuration with flexible resource specification. Supports two modes: 1. Tier-based: Specify a tier with optional resource overrides 2. Fully custom: Specify CPU directly with optional memory/disk Either 'tier' or 'cpu' must be provided (or both).

PropertyDefaultTypeRequiredDescription
tierRuntimeSize
NoBase size tier (X-Small, Small, Medium, Large, X-Large). Required unless 'cpu' is specified.
cpustring
NoCPU allocation in whole cores (e.g., '1', '4', '8'). Required unless 'tier' is specified.
memorystring
NoMemory allocation with unit suffix (e.g., '32Gi', '4G', '512Mi'). For high memory, use a Highmem tier instead.
diskstring
NoDisk allocation with unit suffix (e.g., '100Gi', '1Ti', '500G')

RuntimeSize

Enumeration of standard runtime size tiers. Each tier corresponds to specific resource allocations (CPU, memory, disk). Highmem variants provide 2x memory for memory-intensive workloads.

No properties defined.

BigQueryDataPlane

PropertyDefaultTypeRequiredDescription
bigqueryYesBigQuery configuration options.

BigQueryDataPlaneOptions

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

BigQueryRangePartitioning

PropertyDefaultTypeRequiredDescription
fieldstringYesField to partition by.
rangeYesRange partitioning options.

BigQueryTimePartitioning

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

DatabricksDataPlane

PropertyDefaultTypeRequiredDescription
databrickscluster_by: null
pyspark_job_cluster_id: null
table_properties: null
NoDatabricks configuration options.

DatabricksDataPlaneOptions

PropertyDefaultTypeRequiredDescription
table_propertiesobject with property values of type string
NoTable properties to include when creating the data table. This setting is equivalent to the CREATE TABLE ... TBLPROPERTIES clause. Please refer to the Databricks documentation at https://docs.databricks.com/aws/en/delta/table-properties for available properties depending on your Data Plane.
pyspark_job_cluster_idstring
NoID of the compute cluster to use for PySpark jobs.
cluster_byarray[string]
NoClustering keys to be added to the table.

DuckdbDataPlane

PropertyDefaultTypeRequiredDescription
duckdbducklake: null
NoDuckDB configuration options.

DuckDbDataPlaneOptions

PropertyDefaultTypeRequiredDescription
ducklakeNoDuckLake-specific data plane configuration options including table compaction settings.

DuckLakeDataPlaneOptions

DuckLake-specific data plane configuration options.

PropertyDefaultTypeRequiredDescription
manual_table_compactionTruebooleanNoEnable manual table compaction for DuckLake tables.
metadata_small_file_compactioncount_threshold: 10
file_size_limit: 100
ratio_threshold: null
SmallFileCompactionSettingsNoSettings for compacting metadata tables.
data_small_file_compactioncount_threshold: 50
file_size_limit: 100
ratio_threshold: 0.25
SmallFileCompactionSettingsNoSettings for compacting data tables.
partition_byarray[string]
NoPartition keys to be added to the table. Can be column names or expressions (e.g., ['part_key']).
rewrite_data_filesTruebooleanNoCall DuckLake's rewrite_data_files() maintenance operation to optimize table storage.
rewrite_data_files_delete_thresholdnumber
NoDelete threshold for ducklake_rewrite_data_files operation (0.0-1.0). If set to None, DuckLake's default value (0.95) will be used.

FabricDataPlane

PropertyDefaultTypeRequiredDescription
fabricspark_session_config: null
NoFabric configuration options.

FabricDataPlaneOptions

PropertyDefaultTypeRequiredDescription
spark_session_configNoSpark session configuration.

RangeOptions

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

SmallFileCompactionSettings

Settings for small file compaction thresholds.

PropertyDefaultTypeRequiredDescription
file_size_limit100integerNoFiles smaller than this size (in MB) are considered 'small' and eligible for compaction.
count_threshold10integerNoRun compaction if the number of small files exceeds this threshold.
ratio_thresholdnumber
NoPercentage (0.0-1.0) of small files relative to total files. If set, both absolute count AND ratio must pass for compaction to be triggered. If None, only absolute count check is performed.

SnowflakeDataPlane

PropertyDefaultTypeRequiredDescription
snowflakeYesSnowflake configuration options.

SnowflakeDataPlaneOptions

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

SynapseDataPlane

PropertyDefaultTypeRequiredDescription
synapsespark_session_config: null
NoSynapse configuration options.

SynapseDataPlaneOptions

PropertyDefaultTypeRequiredDescription
spark_session_configNoSpark session configuration.

LivySparkSessionConfig

PropertyDefaultTypeRequiredDescription
poolstring
NoPool to use for the Spark session.
driver_memorystring
NoMemory to use for the Spark driver.
driver_coresinteger
NoNumber of cores to use for the Spark driver.
executor_memorystring
NoMemory to use for the Spark executor.
executor_coresinteger
NoNumber of cores to use for each executor.
num_executorsinteger
NoNumber of executors to use for the Spark session.
session_key_overridestring
NoKey to use for the Spark session.
max_concurrent_sessionsinteger
NoMaximum number of concurrent sessions allowed for this configuration.

DataMaintenance

Data maintenance configuration options for Components.

PropertyDefaultTypeRequiredDescription
enabledboolean
NoBoolean flag indicating whether data maintenance is enabled for the Component.

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
NoEvent UUID 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. - retry_clauses: Pattern-specific retry rules with their own max_attempts. Will need to supply at least one of the parameters (stop_after_attempt, stop_after_delay, or retry_clauses). Additional retry parameters will be added as needed to support more complex use cases.

PropertyDefaultTypeRequiredDescription
stop_after_attemptinteger
NoNumber of retry attempts before giving up. If set to None, it will not stop after any number of attempts.
stop_after_delayinteger
NoMaximum time (in seconds) to spend on retries before giving up. If set to None, it will not stop after any time delay.
retry_clausesarray[None]
NoPattern-specific retry rules evaluated in order. First matching pattern wins. Non-matching errors use global stop_after_attempt/stop_after_delay.

RetryClause

A retry rule matching errors by regex pattern.

PropertyDefaultTypeRequiredDescription
patternstringYesRegex pattern to match against exception message (case-insensitive).
max_attemptsintegerYesMaximum retry attempts for errors matching this pattern.