
Databricks SubmitRun
CertifiedSubmit a Databricks run
Databricks SubmitRun
Submit a Databricks run
Submits one or more tasks as an ad-hoc run; optionally waits up to waitForCompletion for terminal state. The submission is idempotent: if the Kestra worker running this task is lost and the task is resubmitted, the already in-flight or already completed Databricks run is adopted instead of a duplicate run being launched. A plain task retry after a failure still creates a genuinely new run.
type: io.kestra.plugin.databricks.job.SubmitRunExamples
Submit a Databricks run and wait up to 5 minutes for its completion. A worker-loss resubmit adopts the same Databricks run instead of launching a duplicate one.
id: databricks_job_submit_run
namespace: company.team
tasks:
- id: submit_run
type: io.kestra.plugin.databricks.job.SubmitRun
host: "{{ secret('DATABRICKS_HOST') }}"
authentication:
token: "{{ secret('DATABRICKS_TOKEN') }}"
runTasks:
- existingClusterId: <your-cluster>
taskKey: pysparkTask
sparkPythonTask:
pythonFile: /Shared/hello.py
sparkPythonTaskSource: WORKSPACE
waitForCompletion: PT5M
Properties
runTasks *RequiredNon-dynamicarray
1Run tasks
Task definitions for this run; set dependsOn when multiple tasks are present
io.kestra.plugin.databricks.job.SubmitRun-RunSubmitTaskSetting
Task dependencies
List of upstream taskKeys when multiple tasks run in the same submission
Task libraries
io.kestra.plugin.databricks.job.task.LibrarySetting
io.kestra.plugin.databricks.job.task.LibrarySetting-CranSetting
io.kestra.plugin.databricks.job.task.LibrarySetting-MavenSetting
io.kestra.plugin.databricks.job.task.LibrarySetting-PypiSetting
Notebook task settings
io.kestra.plugin.databricks.job.task.NotebookTaskSetting
Map of task base parameters.
Can be a map of string/string or a variable that binds to a JSON object.
GITWORKSPACEPipeline task settings
io.kestra.plugin.databricks.job.task.PipelineTaskSetting
Python Wheel task settings
io.kestra.plugin.databricks.job.task.PythonWheelTaskSetting
Map of task named parameters.
Can be a map of string/string or a variable that binds to a JSON object.
List of task parameters.
Can be a list of strings or a variable that binds to a JSON array of strings.
Run job task settings
io.kestra.plugin.databricks.job.task.RunJobTaskSetting
Job identifier
Numeric identifier of the existing Databricks job to run
Spark JAR task settings
io.kestra.plugin.databricks.job.task.SparkJarTaskSetting
List of task parameters.
Can be a list of strings or a variable that binds to a JSON array of strings.
Spark Python task settings
io.kestra.plugin.databricks.job.task.SparkPythonTaskSetting
GITWORKSPACEList of task parameters.
Can be a list of strings or a variable that binds to a JSON array of strings.
Spark Submit task settings
io.kestra.plugin.databricks.job.task.SparkSubmitTaskSetting
List of task parameters.
Can be a list of strings or a variable that binds to a JSON array of strings.
Task timeout (seconds)
accountId string
Databricks account identifier
authentication
Databricks authentication configuration
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider. All configuration options can also be set using the standard Databricks environment variables. Check the Databricks authentication guide for more information.
io.kestra.plugin.databricks.AbstractTask-AuthenticationConfig
Authentication type
Azure client ID
Azure client secret
Azure tenant ID
Client ID
Client secret
Google credentials JSON
Google service account email
Password
Databricks personal access token
Username
configFile string
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one
host string
Databricks host
idempotencyToken string
Idempotency token seed
Seed used to derive the Databricks idempotency token attached to the run submission, so that a worker-loss resubmit adopts the already in-flight or already completed run instead of launching a duplicate one. Defaults to this task run's Kestra identifier, which is unique per task execution attempt: a plain Kestra retry after a failed run still creates a new Databricks run, while a resubmit of the same attempt after a worker crash adopts the original run. Set this only if you need to key deduplication on something other than the task run itself. Two different executions sharing the same override value will cause the second one to adopt the first one's run.
runName string
Run name
waitForCompletion string
Wait for completion
If set, waits up to the given duration (e.g., PT30M) for the run to finish
Outputs
duration string
durationDuration
The total run duration; only set when the run has terminated
endTime string
date-timeEnd time
When the run finished executing; only set when the run has terminated
lifeCycleState string
Life cycle state
Set once the run has been submitted; only reaches a terminal value (e.g. TERMINATED, SKIPPED) when waitForCompletion is used
resultState string
Result state
The run's terminal result state (e.g. SUCCESS, FAILED, TIMEDOUT); only set when the run has terminated
runId integer
Run identifier
runURI string
uriRun console URI
startTime string
date-timeStart time
When the run started executing; only set when the run has started
stateMessage string
State message
A human-readable description of the run's current state, useful to diagnose a non-SUCCESS result state
Metrics
run.duration timer
The duration of the Databricks run, only available when waitForCompletion is set