Pipeline
PipelineSpec object
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobject
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobject
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- s3object
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.Show child attributesHide child attributes
- destinationstring
S3 destination, e.g.
s3://my-bucket/some-prefixNote that logs will be delivered using cluster iam role, please make sure you set cluster iam role and the role has write access to the destination. Please also note that you cannot use AWS keys to deliver logs.
- regionstring
S3 region, e.g.
us-west-2. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- endpointstring
S3 endpoint, e.g.
https://s3-us-west-2.amazonaws.com. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- enable_encryptionboolean
Flag to enable server side encryption,
falseby default.
- encryption_typestring
The encryption type, it could be
sse-s3orsse-kms. It will be used only when encryption is enabled and the default type issse-s3.
- kms_keystring
Kms key which will be used if encryption is enabled and encryption type is set to
sse-kms.
- canned_aclstring
Set canned access control list for the logs, e.g.
bucket-owner-full-control. Ifcanned_calis set, please make sure the cluster iam role hass3:PutObjectAclpermission on the destination bucket and prefix. The full list of possible canned acl can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Please also note that by default only the object owner gets full controls. If you are using cross account role for writing data, you may want to setbucket-owner-full-controlto make bucket owner able to read the logs.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobject
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstring
URI of the whl to be installed.
- notebookobject
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobject
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectPublic Preview
Select all tables from a specific source schema.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
The source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store tables.
- destination_schemastringPublic Preview
Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- fanout_optionsobjectBeta
Fanout options for multi-table routing from streaming sources. When set, records are routed to destination tables based on a per-record routing key. The key value becomes the table name: {destination_catalog}.{destination_schema}.{key_value}.
- tableobjectPublic Preview
Select a specific source table.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Might be optional depending on the type of source.
- source_tablestringPublic Preview
Table name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Optional. Destination table name. The pipeline fails if a table with that name already exists. If not set, the source table name is used.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- reportobjectPublic Preview
Select a specific source report.
Show child attributesHide child attributes
- source_urlstringPublic Preview
Required. Report URL in the source system.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Required. Destination table name. The pipeline fails if a table with that name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
Show child attributesHide child attributes
- cursor_columnsarray of stringPublic Preview
The names of the monotonically increasing columns in the source table that are used to enable the table to be read and ingested incrementally through structured streaming. The columns are allowed to have repeated values but have to be non-decreasing. If the source data is merged into the destination (e.g., using SCD Type 1 or Type 2), these columns will implicitly define the
sequence_bybehavior. You can still explicitly setsequence_byto override this default.
- deletion_conditionstringPublic Preview
Specifies a SQL WHERE condition that specifies that the source row has been deleted. This is sometimes referred to as "soft-deletes". For example: "Operation = 'DELETE'" or "is_deleted = true". This field is orthogonal to
hard_deletion_sync_interval_in_seconds, one for soft-deletes and the other for hard-deletes. See also the hard_deletion_sync_min_interval_in_seconds field for handling of "hard deletes" where the source rows are physically removed from the table.
- hard_deletion_sync_min_interval_in_secondsint64Beta
Specifies the minimum interval (in seconds) between snapshots on primary keys for detecting and synchronizing hard deletions—i.e., rows that have been physically removed from the source table. This interval acts as a lower bound. If ingestion runs less frequently than this value, hard deletion synchronization will align with the actual ingestion frequency instead of happening more often. If not set, hard deletion synchronization via snapshots is disabled. This field is mutable and can be updated without triggering a full snapshot.
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
Show child attributesHide child attributes
- enabledbooleanPublic Preview
(Required, Mutable) Whether to enable auto full refresh or not.
- min_interval_hoursint32Public Preview
(Optional, Mutable) Specify the minimum interval in hours between the timestamp at which a table was last full refreshed and the current timestamp for triggering auto full If unspecified and autoFullRefresh is enabled then by default min_interval_hours is 24 hours.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name
- postgresobjectPublic Preview
Postgres-specific catalog-level configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobject
- cronobject
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobjectGA
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
Get GA
GET
Get a pipeline.
API scopes: pipelines
Parameters
- pipeline_idstringpath
Response
- pipeline_idstring
The ID of the pipeline.
- specobject
The pipeline specification. This field is not returned when called by
ListPipelines.Show child attributesHide child attributes
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }
- s3objectRequired
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectRequiredPublic Preview
Select all tables from a specific source schema.
- tableobjectRequiredPublic Preview
Select a specific source table.
- reportobjectRequiredPublic Preview
Select a specific source report.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
- statestring
The pipeline state.
- causestring
An optional message detailing the cause of the pipeline state.
- cluster_idstring
The ID of the cluster that the pipeline is running on.
- namestring
A human friendly identifier for the pipeline, taken from the
spec.
- healthstring
The health of a pipeline.
- creator_user_namestring
The username of the pipeline creator.
- latest_updatesarray of object
Status of the latest updates for the pipeline. Ordered with the newest update first.
Show child attributesHide child attributes
- update_idstring
- statestring
- creation_timestring
- last_modifiedint64
The last time the pipeline settings were modified or created.
- run_as_user_namestring
Username of the user that the pipeline will run on behalf of.
- effective_publishing_modestring
Publishing mode of the pipeline
- run_asobject
The user or service principal that the pipeline runs as, if specified in the request. This field indicates the explicit configuration of
run_asfor the pipeline. To find the value in all cases, explicit or implicit, userun_as_user_name.Show child attributesHide child attributes
- user_namestringRequired
The email of an active workspace user. Users can only set this field to their own email.
- service_principal_namestringRequired
Application ID of an active service principal. Setting this field requires the
servicePrincipal/userrole.
- parametersobjectBeta
Key/value map of default parameters to use for pipeline execution. Maximum total size: 10k characters (JSON format)
- effective_serverless_compute_idstringBeta
Serverless compute ID resolved for the pipeline.
List GA
GET
Lists pipelines defined in the Spark Declarative Pipelines system.
API scopes: pipelines
Parameters
- page_tokenstringquery
Page token returned by previous call
- max_resultsint32query
The maximum number of entries to return in a single page. The system may return fewer than max_results events in a response, even if there are more events available. This field is optional. The default value is 25. The maximum value is 100. An error is returned if the value of max_results is greater than 100.
- order_byarray of stringquery
A list of strings specifying the order of results. Supported order_by fields are id and name. The default is id asc. This field is optional.
- filterstringquery
Select a subset of results based on the specified criteria. The supported filters are:
notebook='<path>'to select pipelines that reference the provided notebook path.name LIKE '[pattern]'to select pipelines with a name that matches pattern. Wildcards are supported, for example:name LIKE '%shopping%'
Composite filters are not supported. This field is optional.
Response
- statusesarray of object
The list of events matching the request criteria.
Show child attributesHide child attributes
- pipeline_idstring
The unique identifier of the pipeline.
- statestring
- cluster_idstring
The unique identifier of the cluster running the pipeline.
- namestring
The user-friendly name of the pipeline.
- latest_updatesarray of object
Status of the latest updates for the pipeline. Ordered with the newest update first.
Show child attributesHide child attributes
- update_idstring
- statestring
- creation_timestring
- creator_user_namestring
The username of the pipeline creator.
- run_as_user_namestring
The username that the pipeline runs as. This is a read only value derived from the pipeline owner.
- healthstring
The health of a pipeline.
- next_page_tokenstring
If present, a token to fetch the next page of events.
Create GA
POST
Creates a new data processing pipeline based on the requested configuration. If successful, this method returns the ID of the new pipeline.
API scopes: pipelines
Request body
- allow_duplicate_namesboolean
If false, deployment will fail if name conflicts with that of another pipeline.
- dry_runboolean
- run_asobject
Show child attributesHide child attributes
- user_namestringRequired
The email of an active workspace user. Users can only set this field to their own email.
- service_principal_namestringRequired
Application ID of an active service principal. Setting this field requires the
servicePrincipal/userrole.
- parametersobjectBeta
Key/value map of default parameters to use for pipeline execution. Maximum total size: 10k characters (JSON format)
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- s3objectRequired
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.Show child attributesHide child attributes
- destinationstring
S3 destination, e.g.
s3://my-bucket/some-prefixNote that logs will be delivered using cluster iam role, please make sure you set cluster iam role and the role has write access to the destination. Please also note that you cannot use AWS keys to deliver logs.
- regionstring
S3 region, e.g.
us-west-2. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- endpointstring
S3 endpoint, e.g.
https://s3-us-west-2.amazonaws.com. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- enable_encryptionboolean
Flag to enable server side encryption,
falseby default.
- encryption_typestring
The encryption type, it could be
sse-s3orsse-kms. It will be used only when encryption is enabled and the default type issse-s3.
- kms_keystring
Kms key which will be used if encryption is enabled and encryption type is set to
sse-kms.
- canned_aclstring
Set canned access control list for the logs, e.g.
bucket-owner-full-control. Ifcanned_calis set, please make sure the cluster iam role hass3:PutObjectAclpermission on the destination bucket and prefix. The full list of possible canned acl can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Please also note that by default only the object owner gets full controls. If you are using cross account role for writing data, you may want to setbucket-owner-full-controlto make bucket owner able to read the logs.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectRequiredPublic Preview
Select all tables from a specific source schema.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
The source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store tables.
- destination_schemastringPublic Preview
Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- fanout_optionsobjectBeta
Fanout options for multi-table routing from streaming sources. When set, records are routed to destination tables based on a per-record routing key. The key value becomes the table name: {destination_catalog}.{destination_schema}.{key_value}.
- tableobjectRequiredPublic Preview
Select a specific source table.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Might be optional depending on the type of source.
- source_tablestringPublic Preview
Table name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Optional. Destination table name. The pipeline fails if a table with that name already exists. If not set, the source table name is used.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- reportobjectRequiredPublic Preview
Select a specific source report.
Show child attributesHide child attributes
- source_urlstringPublic Preview
Required. Report URL in the source system.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Required. Destination table name. The pipeline fails if a table with that name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
Show child attributesHide child attributes
- cursor_columnsarray of stringPublic Preview
The names of the monotonically increasing columns in the source table that are used to enable the table to be read and ingested incrementally through structured streaming. The columns are allowed to have repeated values but have to be non-decreasing. If the source data is merged into the destination (e.g., using SCD Type 1 or Type 2), these columns will implicitly define the
sequence_bybehavior. You can still explicitly setsequence_byto override this default.
- deletion_conditionstringPublic Preview
Specifies a SQL WHERE condition that specifies that the source row has been deleted. This is sometimes referred to as "soft-deletes". For example: "Operation = 'DELETE'" or "is_deleted = true". This field is orthogonal to
hard_deletion_sync_interval_in_seconds, one for soft-deletes and the other for hard-deletes. See also the hard_deletion_sync_min_interval_in_seconds field for handling of "hard deletes" where the source rows are physically removed from the table.
- hard_deletion_sync_min_interval_in_secondsint64Beta
Specifies the minimum interval (in seconds) between snapshots on primary keys for detecting and synchronizing hard deletions—i.e., rows that have been physically removed from the source table. This interval acts as a lower bound. If ingestion runs less frequently than this value, hard deletion synchronization will align with the actual ingestion frequency instead of happening more often. If not set, hard deletion synchronization via snapshots is disabled. This field is mutable and can be updated without triggering a full snapshot.
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
Show child attributesHide child attributes
- enabledbooleanPublic Preview
(Required, Mutable) Whether to enable auto full refresh or not.
- min_interval_hoursint32Public Preview
(Optional, Mutable) Specify the minimum interval in hours between the timestamp at which a table was last full refreshed and the current timestamp for triggering auto full If unspecified and autoFullRefresh is enabled then by default min_interval_hours is 24 hours.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name
- postgresobjectRequiredPublic Preview
Postgres-specific catalog-level configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
Response
- pipeline_idstring
The unique identifier for the newly created pipeline. Only returned when dry_run is false.
- effective_settingsobject
Only returned when dry_run is true.
Show child attributesHide child attributes
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }
- s3objectRequired
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectRequiredPublic Preview
Select all tables from a specific source schema.
- tableobjectRequiredPublic Preview
Select a specific source table.
- reportobjectRequiredPublic Preview
Select a specific source report.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
Update GA
PUT
Updates a pipeline with the supplied configuration.
API scopes: pipelines
Parameters
- pipeline_idstringpath
Unique identifier for this pipeline.
Request body
- allow_duplicate_namesboolean
If false, deployment will fail if name has changed and conflicts the name of another pipeline.
- expected_last_modifiedint64
If present, the last-modified time of the pipeline settings before the edit. If the settings were modified after that time, then the request will fail with a conflict.
- run_asobject
Show child attributesHide child attributes
- user_namestringRequired
The email of an active workspace user. Users can only set this field to their own email.
- service_principal_namestringRequired
Application ID of an active service principal. Setting this field requires the
servicePrincipal/userrole.
- parametersobjectBeta
Key/value map of default parameters to use for pipeline execution. Maximum total size: 10k characters (JSON format)
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- s3objectRequired
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.Show child attributesHide child attributes
- destinationstring
S3 destination, e.g.
s3://my-bucket/some-prefixNote that logs will be delivered using cluster iam role, please make sure you set cluster iam role and the role has write access to the destination. Please also note that you cannot use AWS keys to deliver logs.
- regionstring
S3 region, e.g.
us-west-2. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- endpointstring
S3 endpoint, e.g.
https://s3-us-west-2.amazonaws.com. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- enable_encryptionboolean
Flag to enable server side encryption,
falseby default.
- encryption_typestring
The encryption type, it could be
sse-s3orsse-kms. It will be used only when encryption is enabled and the default type issse-s3.
- kms_keystring
Kms key which will be used if encryption is enabled and encryption type is set to
sse-kms.
- canned_aclstring
Set canned access control list for the logs, e.g.
bucket-owner-full-control. Ifcanned_calis set, please make sure the cluster iam role hass3:PutObjectAclpermission on the destination bucket and prefix. The full list of possible canned acl can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Please also note that by default only the object owner gets full controls. If you are using cross account role for writing data, you may want to setbucket-owner-full-controlto make bucket owner able to read the logs.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectRequiredPublic Preview
Select all tables from a specific source schema.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
The source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store tables.
- destination_schemastringPublic Preview
Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- fanout_optionsobjectBeta
Fanout options for multi-table routing from streaming sources. When set, records are routed to destination tables based on a per-record routing key. The key value becomes the table name: {destination_catalog}.{destination_schema}.{key_value}.
- tableobjectRequiredPublic Preview
Select a specific source table.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Might be optional depending on the type of source.
- source_tablestringPublic Preview
Table name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Optional. Destination table name. The pipeline fails if a table with that name already exists. If not set, the source table name is used.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- reportobjectRequiredPublic Preview
Select a specific source report.
Show child attributesHide child attributes
- source_urlstringPublic Preview
Required. Report URL in the source system.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Required. Destination table name. The pipeline fails if a table with that name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
Show child attributesHide child attributes
- cursor_columnsarray of stringPublic Preview
The names of the monotonically increasing columns in the source table that are used to enable the table to be read and ingested incrementally through structured streaming. The columns are allowed to have repeated values but have to be non-decreasing. If the source data is merged into the destination (e.g., using SCD Type 1 or Type 2), these columns will implicitly define the
sequence_bybehavior. You can still explicitly setsequence_byto override this default.
- deletion_conditionstringPublic Preview
Specifies a SQL WHERE condition that specifies that the source row has been deleted. This is sometimes referred to as "soft-deletes". For example: "Operation = 'DELETE'" or "is_deleted = true". This field is orthogonal to
hard_deletion_sync_interval_in_seconds, one for soft-deletes and the other for hard-deletes. See also the hard_deletion_sync_min_interval_in_seconds field for handling of "hard deletes" where the source rows are physically removed from the table.
- hard_deletion_sync_min_interval_in_secondsint64Beta
Specifies the minimum interval (in seconds) between snapshots on primary keys for detecting and synchronizing hard deletions—i.e., rows that have been physically removed from the source table. This interval acts as a lower bound. If ingestion runs less frequently than this value, hard deletion synchronization will align with the actual ingestion frequency instead of happening more often. If not set, hard deletion synchronization via snapshots is disabled. This field is mutable and can be updated without triggering a full snapshot.
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
Show child attributesHide child attributes
- enabledbooleanPublic Preview
(Required, Mutable) Whether to enable auto full refresh or not.
- min_interval_hoursint32Public Preview
(Optional, Mutable) Specify the minimum interval in hours between the timestamp at which a table was last full refreshed and the current timestamp for triggering auto full If unspecified and autoFullRefresh is enabled then by default min_interval_hours is 24 hours.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name
- postgresobjectRequiredPublic Preview
Postgres-specific catalog-level configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
Delete GA
DELETE
Deletes a pipeline. If the pipeline publishes to Unity Catalog, pipeline deletion will cascade to all pipeline tables. Please reach out to <Databricks> support for assistance to undo this action.
API scopes: pipelines
Parameters
- pipeline_idstringpath
- cascadebooleanquery
If false, pipeline deletion will not cascade to its datasets (MVs, STs, Views). By default, this parameter will be true and all tables will be deleted with the pipeline.
Clone GA
POST
Creates a new pipeline using Unity Catalog from a pipeline using Hive Metastore. This method returns the ID of the newly created clone. Additionally, this method starts an update for the newly created pipeline.
API scopes: pipelines
Parameters
- pipeline_idstringpath
Source pipeline to clone from
Request body
- expected_last_modifiedint64
If present, the last-modified time of the pipeline settings before the clone. If the settings were modified after that time, then the request will fail with a conflict.
- allow_duplicate_namesboolean
If false, deployment will fail if name conflicts with that of another pipeline.
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. If this value is greater than 0, the cluster driver node in particular will be placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero, this availability type will be used for the entire cluster.
- zone_idstring
Identifier for the availability zone/datacenter in which the cluster resides. This string will be of a form like "us-west-2a". The provided availability zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a" is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region. This is an optional field at cluster creation, and if not specified, a default zone will be used. If the zone specified is "auto", will try to place cluster in a zone with high availability, and will retry placement in a different AZ if there is not enough capacity. See [[AutoAZHelper.scala]] for more details. The list of available zones as well as the default value can be found by using the
List Zones_ method.
- instance_profile_arnstring
Nodes for this cluster will only be placed on AWS instances with this instance profile. If omitted, nodes will be placed on instances without an IAM instance profile. The instance profile must have previously been added to the <Databricks> environment by an account administrator.
This feature may only be available to certain customer plans.
***internal If this field is ommitted, we will pull in the default from the conf if it exists.
- spot_bid_price_percentint32
The bid price for AWS spot instances, as a percentage of the corresponding instance type's on-demand price. For example, if this field is set to 50, and the cluster needs a new
r3.xlargespot instance, then the bid price is half of the price of on-demandr3.xlargeinstances. Similarly, if this field is set to 200, the bid price is twice the price of on-demandr3.xlargeinstances. If not specified, the default value is 100. When spot instances are requested for this cluster, only spot instances whose bid price percentage matches this field will be considered. Note that, for safety, we enforce this field to be no more than 10000.***internal The default value and documentation here should be kept consistent with CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
- ebs_volume_typestring
The type of EBS volumes that will be launched with this cluster.
- ebs_volume_countint32
The number of volumes launched for each instance. Users can choose up to 10 volumes. This feature is only enabled for supported node types. Legacy node types cannot specify custom EBS volumes. For node types with no instance store, at least one EBS volume needs to be specified; otherwise, cluster creation will fail.
These EBS volumes will be mounted at
/ebs0,/ebs1, and etc. Instance store volumes will be mounted at/local_disk0,/local_disk1, and etc.If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for scratch storage because heterogeneously sized scratch devices can lead to inefficient disk utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance store volumes.
Please note that if EBS volumes are specified, then the Spark configuration
spark.local.dirwill be overridden.
- ebs_volume_sizeint32
The size of each EBS volume (in GiB) launched for each instance. For general purpose SSD, this value must be within the range 100 - 4096. For throughput optimized HDD, this value must be within the range 500 - 4096.
- ebs_volume_iopsint32
- ebs_volume_throughputint32
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- first_on_demandint32
The first
first_on_demandnodes of the cluster will be placed on on-demand instances. This value should be greater than 0, to make sure the cluster driver node is placed on an on-demand instance. If this value is greater than or equal to the current cluster size, all nodes will be placed on on-demand instances. If this value is less than the current cluster size,first_on_demandnodes will be placed on on-demand instances and the remainder will be placed onavailabilityinstances. Note that this value does not affect cluster size and cannot currently be mutated over the lifetime of a cluster.
- availabilitystring
Availability type used for all subsequent nodes past the
first_on_demandones. Note: Iffirst_on_demandis zero (which only happens on pool clusters), this availability type will be used for the entire cluster.
- spot_bid_max_pricedouble
The max bid price to be used for Azure spot instances. The Max price for the bid cannot be higher than the on-demand price of the instance. If not specified, the default value is -1, which specifies that the instance cannot be evicted on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
Show child attributesHide child attributes
- google_service_accountstring
If provided, the cluster will impersonate the google service account when accessing gcloud services (like GCS). The google service account must have previously been added to the <Databricks> environment by an account administrator.
- boot_disk_sizeint32
boot disk size in GB
- availabilitystring
This field determines whether the spark executors will be scheduled to run on preemptible VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
- zone_idstring
Identifier for the availability zone in which the cluster resides. This can be one of the following:
- "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region [default].
- "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
- A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones.
- local_ssd_countint32
The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified, the default number of local SSDs for the node type will be used.
NOTE: Each instance type can only support a certain number of attached local SSDs. The value specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See GCP docs here: https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
Validation is performed at the RPC layer and the RPC will be rejected if the specified local_ssd_count is invalid.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.Show child attributesHide child attributes
- dbfsobjectRequired
destination needs to be provided. e.g.
{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }Show child attributesHide child attributes
- destinationstring
dbfs destination, e.g.
dbfs:/my/path
- s3objectRequired
destination and either region or endpoint should also be provided. e.g.
{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }Cluster iam role is used to access s3, please make sure the cluster iam role ininstance_profile_arnhas permission to write data to the s3 destination.Show child attributesHide child attributes
- destinationstring
S3 destination, e.g.
s3://my-bucket/some-prefixNote that logs will be delivered using cluster iam role, please make sure you set cluster iam role and the role has write access to the destination. Please also note that you cannot use AWS keys to deliver logs.
- regionstring
S3 region, e.g.
us-west-2. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- endpointstring
S3 endpoint, e.g.
https://s3-us-west-2.amazonaws.com. Either region or endpoint needs to be set. If both are set, endpoint will be used.
- enable_encryptionboolean
Flag to enable server side encryption,
falseby default.
- encryption_typestring
The encryption type, it could be
sse-s3orsse-kms. It will be used only when encryption is enabled and the default type issse-s3.
- kms_keystring
Kms key which will be used if encryption is enabled and encryption type is set to
sse-kms.
- canned_aclstring
Set canned access control list for the logs, e.g.
bucket-owner-full-control. Ifcanned_calis set, please make sure the cluster iam role hass3:PutObjectAclpermission on the destination bucket and prefix. The full list of possible canned acl can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Please also note that by default only the object owner gets full controls. If you are using cross account role for writing data, you may want to setbucket-owner-full-controlto make bucket owner able to read the logs.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
Show child attributesHide child attributes
- min_workersint32
The minimum number of workers the cluster can scale down to when underutilized. It is also the initial number of workers the cluster will have after creation.
- max_workersint32
The maximum number of workers to which the cluster can scale up when overloaded.
max_workersmust be strictly greater thanmin_workers.
- modestring
Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines. Enhanced Autoscaling is available for
updatesclusters only. The legacy autoscaling feature is used formaintenanceclusters.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
Show child attributesHide child attributes
- pathstring
The absolute path of the source code.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.Show child attributesHide child attributes
- includestringPublic Preview
The source code to include for pipelines
/Workspace/Users/user.name/pipeline-folder/my-file.py: use glob to include a file/Workspace/Users/user.name/pipeline-folder/**: use glob to include a folder/Workspace/Users/user.name/pipeline-folder/my-notebook: use glob to include a notebook
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
Show child attributesHide child attributes
- schemaobjectRequiredPublic Preview
Select all tables from a specific source schema.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
The source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store tables.
- destination_schemastringPublic Preview
Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- fanout_optionsobjectBeta
Fanout options for multi-table routing from streaming sources. When set, records are routed to destination tables based on a per-record routing key. The key value becomes the table name: {destination_catalog}.{destination_schema}.{key_value}.
- tableobjectRequiredPublic Preview
Select a specific source table.
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name. Might be optional depending on the type of source.
- source_schemastringPublic Preview
Schema name in the source database. Might be optional depending on the type of source.
- source_tablestringPublic Preview
Table name in the source database. Currently required; this field will become optional in an upcoming release, since some source types (for example streaming / message-bus connectors) do not use it. When that change ships, this field's type in the generated SDKs and CLI will change from required to optional (nullable); clients that assume it is always present should handle its absence.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Optional. Destination table name. The pipeline fails if a table with that name already exists. If not set, the source table name is used.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec.
- connector_optionsobjectPublic Preview
(Optional) Source Specific Connector Options
- reportobjectRequiredPublic Preview
Select a specific source report.
Show child attributesHide child attributes
- source_urlstringPublic Preview
Required. Report URL in the source system.
- destination_catalogstringPublic Preview
Required. Destination catalog to store table.
- destination_schemastringPublic Preview
Required. Destination schema to store table.
- destination_tablestringPublic Preview
Required. Destination table name. The pipeline fails if a table with that name already exists.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
Show child attributesHide child attributes
- scd_typestringPublic Preview
- primary_keysarray of stringPublic Preview
The primary key of the table used to apply changes.
- sequence_byarray of stringPublic Preview
The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
- include_columnsarray of stringPublic Preview
A list of column names to be included for the ingestion. When not specified, all columns except ones in exclude_columns will be included. Future columns will be automatically included. When specified, all other future columns will be automatically excluded from ingestion. This field in mutually exclusive with
exclude_columns.
- exclude_columnsarray of stringPublic Preview
A list of column names to be excluded for the ingestion. When not specified, include_columns fully controls what columns to be ingested. When specified, all other columns including future ones will be automatically included for ingestion. This field in mutually exclusive with
include_columns.
- row_filterstringPublic Preview
(Optional, Immutable) The row filter condition to be applied to the table. It must not contain the WHERE keyword, only the actual filter condition. It must be in DBSQL format.
- query_based_connector_configobjectPublic Preview
Show child attributesHide child attributes
- cursor_columnsarray of stringPublic Preview
The names of the monotonically increasing columns in the source table that are used to enable the table to be read and ingested incrementally through structured streaming. The columns are allowed to have repeated values but have to be non-decreasing. If the source data is merged into the destination (e.g., using SCD Type 1 or Type 2), these columns will implicitly define the
sequence_bybehavior. You can still explicitly setsequence_byto override this default.
- deletion_conditionstringPublic Preview
Specifies a SQL WHERE condition that specifies that the source row has been deleted. This is sometimes referred to as "soft-deletes". For example: "Operation = 'DELETE'" or "is_deleted = true". This field is orthogonal to
hard_deletion_sync_interval_in_seconds, one for soft-deletes and the other for hard-deletes. See also the hard_deletion_sync_min_interval_in_seconds field for handling of "hard deletes" where the source rows are physically removed from the table.
- hard_deletion_sync_min_interval_in_secondsint64Beta
Specifies the minimum interval (in seconds) between snapshots on primary keys for detecting and synchronizing hard deletions—i.e., rows that have been physically removed from the source table. This interval acts as a lower bound. If ingestion runs less frequently than this value, hard deletion synchronization will align with the actual ingestion frequency instead of happening more often. If not set, hard deletion synchronization via snapshots is disabled. This field is mutable and can be updated without triggering a full snapshot.
- auto_full_refresh_policyobjectPublic Preview
(Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy in table configuration will override the above level auto_full_refresh_policy. For example, { "auto_full_refresh_policy": { "enabled": true, "min_interval_hours": 23, } } If unspecified, auto full refresh is disabled.
Show child attributesHide child attributes
- enabledbooleanPublic Preview
(Required, Mutable) Whether to enable auto full refresh or not.
- min_interval_hoursint32Public Preview
(Optional, Mutable) Specify the minimum interval in hours between the timestamp at which a table was last full refreshed and the current timestamp for triggering auto full If unspecified and autoFullRefresh is enabled then by default min_interval_hours is 24 hours.
- table_propertiesobjectBeta
Table properties to set on the destination table. These are key-value pairs that configure various Delta table behaviors or any user defined properties. Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"} Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
- enable_auto_clusteringbooleanBeta
Whether to enable auto clustering on the destination table. When enabled, Delta will automatically optimize the data layout based on the clustering columns for improved query performance. Note: enable_auto_clustering in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- clustering_columnsarray of stringBeta
List of column names to use for clustering the destination table. When specified, the destination Delta table will be clustered by these columns. This can improve query performance when filtering on these columns. Note: clustering_columns in table specific configuration will override the pipeline definition. Note: we can only provide enable_auto_clustering or clustering_columns, added as separate fields as we cannot have repeated field in oneof.
- source_metadata_columnstringBeta
(Optional) Name of the struct column added to each ingested record to hold per row source metadata.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
Show child attributesHide child attributes
- catalogobjectPublic Preview
Catalog-level source configuration parameters
Show child attributesHide child attributes
- source_catalogstringPublic Preview
Source catalog name
- postgresobjectRequiredPublic Preview
Postgres-specific catalog-level configuration parameters
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
Show child attributesHide child attributes
- start_hourint32Public Preview
An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
- days_of_weekarray of stringPublic Preview
Days of week in which the window is allowed to happen If not specified all days of the week will be used.
- time_zone_idstringPublic Preview
Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details. If not specified, UTC will be used.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
Show child attributesHide child attributes
- catalog_namestringPublic Preview
(Required, Immutable) The name of the catalog for the connector's staging storage location.
- schema_namestringPublic Preview
(Required, Immutable) The name of the schema for the connector's staging storage location.
- volume_namestringPublic Preview
(Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : __databricks_ingestion_gateway_staging_data-$pipelineId
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
Show child attributesHide child attributes
- quartz_cron_schedulestring
- timezone_idstring
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
- clone_modestring
The type of clone to perform. Currently, only deep copies are supported
Response
- pipeline_idstring
The pipeline id of the cloned pipeline
Apply Environment Public Preview
Events GA
GET
Retrieves events for a pipeline.
API scopes: pipelines
Parameters
- pipeline_idstringpath
The pipeline to return events for.
- page_tokenstringquery
Page token returned by previous call. This field is mutually exclusive with all fields in this request except max_results. An error is returned if any fields other than max_results are set when this field is set.
- max_resultsint32query
Max number of entries to return in a single page. The system may return fewer than max_results events in a response, even if there are more events available.
- order_byarray of stringquery
A string indicating a sort order by timestamp for the results, for example, ["timestamp asc"]. The sort order can be ascending or descending. By default, events are returned in descending order by timestamp.
- filterstringquery
Criteria to select a subset of results, expressed using a SQL-like syntax. The supported filters are:
- level='INFO' (or WARN or ERROR)
- level in ('INFO', 'WARN')
- id='[event-id]'
- timestamp > 'TIMESTAMP' (or >=,<,<=,=)
Composite expressions are supported, for example: level in ('ERROR', 'WARN') AND timestamp> '2021-07-22T06:37:33.083Z'
Response
- eventsarray of object
The list of events matching the request criteria.
Show child attributesHide child attributes
- idstring
A time-based, globally unique id.
- sequenceobject
A sequencing object to identify and order events.
Show child attributesHide child attributes
- data_plane_idobject
the ID assigned by the data plane.
Show child attributesHide child attributes
- instancestring
The instance name of the data plane emitting an event.
- seq_noint64
A sequence number, unique and increasing within the data plane instance.
- control_plane_seq_noint64
A sequence number, unique and increasing per pipeline.
- originobject
Describes where the event originates from.
Show child attributesHide child attributes
- cloudstring
The cloud provider, e.g., AWS or Azure.
- regionstring
The cloud region.
- org_idint64
The org id of the user. Unique within a cloud.
- pipeline_idstring
The id of the pipeline. Globally unique.
- pipeline_namestring
The name of the pipeline. Not unique.
- cluster_idstring
The id of the cluster where an execution happens. Unique within a region.
- update_idstring
The id of an execution. Globally unique.
- maintenance_idstring
The id of a maintenance run. Globally unique.
- table_idstring
The id of a (delta) table. Globally unique.
- dataset_namestring
The name of a dataset. Unique within a pipeline.
- flow_idstring
The id of the flow. Globally unique. Incremental queries will generally reuse the same id while complete queries will have a new id per update.
- flow_namestring
The name of the flow. Not unique.
- batch_idint64
The id of a batch. Unique within a flow.
- request_idstring
The id of the request that caused an update.
- uc_resource_idstring
The Unity Catalog id of the MV or ST being updated.
- hoststring
The optional host name where the event was triggered
- materialization_namestring
Materialization name.
- ingestion_source_connection_namestringPublic Preview
The name of the source UC connection (if known) from whose data ingestion is described by this event.
- ingestion_source_catalog_namestringPublic Preview
The name of the source catalog name (if known) from whose data ingestion is described by this event.
- ingestion_source_schema_namestringPublic Preview
The name of the source schema name (if known) from whose data ingestion is described by this event.
- ingestion_source_table_namestringPublic Preview
The name of the source table name (if known) from whose data ingestion is described by this event.
- ingestion_source_table_versionstringPublic Preview
An optional implementation-defined source table version of a dataset being (re)ingested.
- timestampstring
The time of the event.
- messagestring
The display message associated with the event.
- levelstring
The severity level of the event.
- errorobject
Information about an error captured by the event.
Show child attributesHide child attributes
- exceptionsarray of object
The exception thrown for this error, with its chain of cause.
Show child attributesHide child attributes
- class_namestring
Runtime class of the exception
- messagestring
Exception message
- stackarray of object
Stack trace consisting of a list of stack frames
- fatalboolean
Whether this error is considered fatal, that is, unrecoverable.
- event_typestring
The event type. Should always correspond to the details
- maturity_levelstring
Maturity level for event_type.
- truncationobject
Information about which fields were truncated from this event due to size constraints. If empty or absent, no truncation occurred. See https://docs.databricks.com/en/ldp/monitor-event-logs for information on retrieving complete event data.
Show child attributesHide child attributes
- truncated_fieldsarray of object
List of fields that were truncated from this event. If empty or absent, no truncation occurred.
Show child attributesHide child attributes
- field_namestring
The name of the truncated field (e.g., "error"). Corresponds to field names in PipelineEvent.
- next_page_tokenstring
If present, a token to fetch the next page of events.
- prev_page_tokenstring
If present, a token to fetch the previous page of events.
Stop GA
List Updates GA
GET
List updates for an active pipeline.
API scopes: pipelines
Parameters
- pipeline_idstringpath
The pipeline to return updates for.
- page_tokenstringquery
Page token returned by previous call
- max_resultsint32query
Max number of entries to return in a single page.
- until_update_idstringquery
If present, returns updates until and including this update_id.
Response
- updatesarray of object
Show child attributesHide child attributes
- pipeline_idstring
The ID of the pipeline.
- update_idstring
The ID of this update.
- configobject
The pipeline configuration with system defaults applied where unspecified by the user. Not returned by ListUpdates.
Show child attributesHide child attributes
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
- causestring
What triggered this update.
- statestring
The update state.
- cluster_idstring
The ID of the cluster that the update is running on.
- creation_timeint64
The time when this update was created.
- full_refreshboolean
If true, this update will reset all tables before running.
- refresh_selectionarray of string
A list of tables to update without fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- full_refresh_selectionarray of string
A list of tables to update with fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- validate_onlyboolean
If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.
- modestring
Indicates whether the update is either part of a continuous job run, or running in legacy continuous pipeline mode. Returned only for GetUpdate; not populated in ListUpdates responses.
- parametersobjectBeta
Key/value map of parameters used to initiate the update
- next_page_tokenstring
If present, then there are more results, and this a token to be used in a subsequent request to fetch the next page.
- prev_page_tokenstring
If present, then this token can be used in a subsequent request to fetch the previous page.
Start GA
POST
Starts a new update for the pipeline. If there is already an active update for the pipeline, the request will fail and the active update will remain running.
API scopes: pipelines
Parameters
- pipeline_idstringpath
Request body
- full_refreshboolean
If true, this update will reset all tables before running.
- causestring
- refresh_selectionarray of string
A list of tables to update without fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- full_refresh_selectionarray of string
A list of tables to update with fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- reset_checkpoint_selectionarray of string
A list of flows for which this update should reset the streaming checkpoint. This selection will not clear the data in the flow's target table. Flows in this list may also appear in refresh_selection and full_refresh_selection.
- validate_onlyboolean
If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.
- parametersobjectBeta
Key/value map of parameters to pass to the pipeline execution
Response
- update_idstring
Get Update GA
GET
Gets an update from an active pipeline.
API scopes: pipelines
Parameters
- pipeline_idstringpath
The ID of the pipeline.
- update_idstringpath
The ID of the update.
Response
- updateobject
The current update info.
Show child attributesHide child attributes
- pipeline_idstring
The ID of the pipeline.
- update_idstring
The ID of this update.
- configobject
The pipeline configuration with system defaults applied where unspecified by the user. Not returned by ListUpdates.
Show child attributesHide child attributes
- idstring
Unique identifier for this pipeline.
- namestring
Friendly identifier for this pipeline.
- storagestring
DBFS root directory for storing checkpoints and tables.
- configurationobject
String-String configuration for this pipeline execution.
- clustersarray of object
Cluster settings for this pipeline deployment.
Show child attributesHide child attributes
- labelstring
A label for the cluster specification, either
defaultto configure the default cluster, ormaintenanceto configure the maintenance cluster. This field is optional. The default value isdefault.
- apply_policy_default_valuesboolean
Note: This field won't be persisted. Only API users will check this field.
- spark_confobject
An object containing a set of optional, user-specified Spark configuration key-value pairs. See
clusters/createfor more details.
- aws_attributesobject
Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used.
- azure_attributesobject
Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used.
- gcp_attributesobject
Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used.
- node_type_idstring
This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute intensive workloads. A list of available node types can be retrieved by using the
clusters/listNodeTypesAPI call.
- driver_node_type_idstring
The node type of the Spark driver. Note that this field is optional; if unset, the driver node type will be set as the same value as
node_type_iddefined above.
- ssh_public_keysarray of string
SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name
ubuntuon port2200. Up to 10 keys can be specified.
- custom_tagsobject
Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS instances and EBS volumes) with these tags in addition to
default_tags. Notes:-
Currently, <Databricks> allows at most 45 custom tags
-
Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
-
- cluster_log_confobject
The configuration for delivering spark logs to a long-term storage destination. Only dbfs destinations are supported. Only one destination can be specified for one cluster. If the conf is given, the logs will be delivered to the destination every
5 mins. The destination of driver logs is$destination/$clusterId/driver, while the destination of executor logs is$destination/$clusterId/executor.
- spark_env_varsobject
An object containing a set of optional, user-specified environment variable key-value pairs. Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
export X='Y') while launching the driver and workers.In order to specify an additional set of
SPARK_DAEMON_JAVA_OPTS, we recommend appending them to$SPARK_DAEMON_JAVA_OPTSas shown in the example below. This ensures that all default databricks managed environmental variables are included as well.Example Spark environment variables:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}or{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
- init_scriptsarray of object
The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If
cluster_log_confis specified, init script logs are sent to<destination>/<cluster-ID>/init_scripts.
- instance_pool_idstring
The optional ID of the instance pool to which the cluster belongs.
- policy_idstring
The ID of the cluster policy used to create the cluster if applicable.
- enable_local_disk_encryptionboolean
Whether to enable local disk encryption for the cluster.
- driver_instance_pool_idstring
The optional ID of the instance pool for the driver of the cluster belongs. The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not assigned.
- num_workersint32Required
Number of worker nodes that this cluster should have. A cluster has one Spark Driver and
num_workersExecutors for a total ofnum_workers+ 1 Spark nodes.Note: When reading the properties of a cluster, this field reflects the desired number of workers rather than the actual current number of workers. For instance, if a cluster is resized from 5 to 10 workers, this field will immediately be updated to reflect the target size of 10 workers, whereas the workers listed in
spark_infowill gradually increase from 5 to 10 as the new nodes are provisioned.
- autoscaleobjectRequired
Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later.
- librariesarray of object
Libraries or code needed by this deployment.
Show child attributesHide child attributes
- whlstringRequired
URI of the whl to be installed.
- notebookobjectRequired
The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
- fileobjectRequired
The path to a file that defines a pipeline and is stored in the Databricks Repos.
- globobjectRequiredPublic Preview
The unified field to include source codes. Each entry can be a notebook path, a file path, or a folder path that ends
/**. This field cannot be used together withnotebookorfile.
- ingestion_definitionobjectPublic Preview
The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
Show child attributesHide child attributes
- connection_namestringRequiredPublic Preview
The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle, (connector_type = QUERY_BASED OR connector_type = CDC). If connection name corresponds to database connectors like Oracle, and connector_type is not provided then connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion pipeline. Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed Ingestion Pipeline with Gateway pipeline.
- ingestion_gateway_idstringRequiredPublic Preview
Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC). Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc Managed Ingestion Pipeline.
- ingest_from_uc_foreign_catalogbooleanRequiredPublic Preview
Immutable. If set to true, the pipeline will ingest tables from the UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway. The
source_catalogfields in objects of IngestionConfig are interpreted as the UC foreign catalogs to ingest from.
- objectsarray of objectPublic Preview
Required. Settings specifying tables to replicate and the destination for the replicated tables.
- source_typestringPublic Preview
The type of the foreign source. The source type will be inferred from the source connection or ingestion gateway. This field is output only and will be ignored if provided.
- table_configurationobjectPublic Preview
Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
- source_configurationsarray of objectPublic Preview
Top-level source configurations
- full_refresh_windowobjectPublic Preview
(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
- connector_typestringPublic Preview
(Optional) Connector Type for sources. Ex: CDC, Query Based.
- data_staging_optionsobjectPublic Preview
(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition.
- triggerobject
Which pipeline trigger to use. Deprecated: Use
continuousinstead.Show child attributesHide child attributes
- manualobjectRequired
- cronobjectRequired
- targetstring
Target schema (database) to add tables in this pipeline to. Exactly one of
schemaortargetmust be specified. To publish to Unity Catalog, also specifycatalog. This legacy field is deprecated for pipeline creation in favor of theschemafield.
- schemastring
The default schema (database) where tables are read from or published to.
- filtersobject
Filters on which Pipeline packages to include in the deployed graph.
Show child attributesHide child attributes
- includearray of string
Paths to include.
- excludearray of string
Paths to exclude.
- continuousboolean
Whether the pipeline is continuous or triggered. This replaces
trigger.Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage of job-level settings such as performance mode. When the pipeline is started by a continuous job, the job's setting takes precedence and this field is ignored.
- developmentboolean
Whether the pipeline is in Development mode. Defaults to false.
- photonboolean
Whether Photon is enabled for this pipeline.
- editionstring
Pipeline product edition.
- channelstring
SDP Release Channel that specifies which version to use.
- catalogstring
A catalog in Unity Catalog to publish data from this pipeline to. If
targetis specified, tables in this pipeline are published to atargetschema insidecatalog(for example,catalog.target.table). Iftargetis not specified, no data is published to Unity Catalog.
- notificationsarray of object
List of notification settings for this pipeline.
Show child attributesHide child attributes
- email_recipientsarray of string
A list of email addresses notified when a configured alert is triggered.
- alertsarray of string
A list of alerts that trigger the sending of notifications to the configured destinations. The supported alerts are:
on-update-success: A pipeline update completes successfully.on-update-failure: Each time a pipeline update fails.on-update-fatal-failure: A pipeline update fails with a non-retryable (fatal) error.on-flow-failure: A single data flow fails.
- serverlessboolean
Whether serverless compute is enabled for this pipeline.
- deploymentobject
Deployment type of this pipeline.
Show child attributesHide child attributes
- kindstring
The deployment method that manages the pipeline.
- metadata_file_pathstring
The path to the file containing metadata about the deployment.
- budget_policy_idstringPublic Preview
Budget policy of this pipeline.
- tagsobject
A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations. A maximum of 25 tags can be added to the pipeline.
- event_logobject
Event log configuration for this pipeline
Show child attributesHide child attributes
- namestring
The name the event log is published to in UC.
- schemastring
The UC schema the event log is published under.
- catalogstring
The UC catalog the event log is published under.
- root_pathstringPublic Preview
Root path for this pipeline. This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is added to sys.path when executing Python sources during pipeline execution.
- environmentobjectPublic Preview
Environment specification for this pipeline used to install dependencies.
Show child attributesHide child attributes
- dependenciesarray of stringPublic Preview
List of pip dependencies, as supported by the version of pip in this environment. Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/ Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
- environment_versionstringBeta
The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment.
<Databricks> supports a three-year lifecycle for each environment version. For available versions and their included packages, see https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
The value should be a string representing the environment version number, for example:
"4".
- causestring
What triggered this update.
- statestring
The update state.
- cluster_idstring
The ID of the cluster that the update is running on.
- creation_timeint64
The time when this update was created.
- full_refreshboolean
If true, this update will reset all tables before running.
- refresh_selectionarray of string
A list of tables to update without fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- full_refresh_selectionarray of string
A list of tables to update with fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh.
- validate_onlyboolean
If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.
- modestring
Indicates whether the update is either part of a continuous job run, or running in legacy continuous pipeline mode. Returned only for GetUpdate; not populated in ListUpdates responses.
- parametersobjectBeta
Key/value map of parameters used to initiate the update