This repository was archived by the owner on Mar 28, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdatabricks-clusters-job.json
More file actions
369 lines (368 loc) · 17.5 KB
/
Copy pathdatabricks-clusters-job.json
File metadata and controls
369 lines (368 loc) · 17.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
{
"typeName": "Databricks::Clusters::Job",
"description": "Manage Jobs running on a cluster",
"sourceUrl": "https://github.com/aws-ia/cloudformation-databricks-resource-providers.git",
"documentationUrl": "https://github.com/aws-ia/cloudformation-databricks-resource-providers",
"typeConfiguration": {
"properties": {
"DatabricksAccess": {
"$ref": "#/definitions/DatabricksAccess"
}
},
"additionalProperties": false,
"required": [
"DatabricksAccess"
]
},
"definitions": {
"DatabricksAccess": {
"description": "Properties needed to access databricks.",
"type": "object",
"properties": {
"DatabricksInstance": {
"type": "string",
"description": "Domain used to access Databricks"
},
"Token": {
"type": "string"
}
},
"required": [
"DatabricksInstance",
"Token"
],
"additionalProperties": false
},
"Task": {
"type": "object",
"properties": {
"TaskKey": {
"description": "A unique name for the task. This field is used to refer to this task from other tasks. This field is required and must be unique within its parent job. On Update or Reset, this field is used to reference the tasks to be updated or reset. The maximum length is 100 characters.",
"type": "string"
},
"Description": {
"description": "An optional description for this task. The maximum length is 4096 bytes.",
"type": "string"
},
"DependsOn": {
"description": "An optional array of objects specifying the dependency graph of the task. All tasks specified in this field must complete successfully before executing this task. The key is task_key, and the value is the name assigned to the dependent task. This field is required when a job consists of more than one task.",
"type": "array",
"insertionOrder": false,
"items": {
"type": "string"
}
},
"ExistingClusterId": {
"description": "If existing_cluster_id, the ID of an existing cluster that is used for all runs of this task. When running tasks on an existing cluster, you may need to manually restart the cluster if it stops responding. We suggest running jobs on new clusters for greater reliability.",
"type": "string"
},
"NotebookTask": {
"type": "object",
"properties": {
"NotebookPath": {
"description": "The path of the notebook to be run in the Databricks workspace or remote repository. For notebooks stored in the Databricks workspace, the path must be absolute and begin with a slash. For notebooks stored in a remote repository, the path must be relative. This field is required.",
"type": "string"
},
"BaseParameters": {
"description": "Base parameters to be used for each run of this job. If the run is initiated by a call to run-now with parameters specified, the two parameters maps are merged. If the same key is specified in base_parameters and in run-now, the value from run-now is used.\n\nUse Task parameter variables to set parameters containing information about job runs.\n\nIf the notebook takes a parameter that is not specified in the job's base_parameters or the run-now override parameters, the default value from the notebook is used",
"type": "object"
}
},
"required": [
"NotebookPath"
],
"additionalProperties": false
},
"SparkJarTask": {
"type": "object",
"properties": {
"MainClassName": {
"description": "The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library.",
"type": "string"
},
"Parameters": {
"description": "Parameters passed to the main method.\n\nUse Task parameter variables to set parameters containing information about job runs.",
"type": "object"
}
},
"required": [
"MainClassName"
],
"additionalProperties": false
},
"SparkPythonTask": {
"type": "object",
"properties": {
"PythonFile": {
"description": "The URI of the Python file to be executed. DBFS and S3 paths are supported. This field is required.",
"type": "string"
},
"Parameters": {
"description": "Command line parameters passed to the Python file.\n\nUse Task parameter variables to set parameters containing information about job runs.",
"type": "object"
}
},
"required": [
"PythonFile"
],
"additionalProperties": false
},
"SparkSubmitTask": {
"type": "object",
"properties": {
"Parameters": {
"description": "Command-line parameters passed to spark submit.\n\nUse Task parameter variables to set parameters containing information about job runs.",
"type": "object"
}
},
"additionalProperties": false
},
"PipelineTask": {
"type": "object",
"properties": {
"PipelineId": {
"description": "The full name of the pipeline task to execute.",
"type": "string"
},
"FullRefresh": {
"description": "If true, a full refresh will be triggered on the delta live table.",
"type": "boolean"
}
},
"required": [
"PipelineId"
],
"additionalProperties": false
},
"PythonWheelTask": {
"type": "object",
"properties": {
"PackageName": {
"description": "Name of the package to execute",
"type": "string"
},
"EntryPoint": {
"description": "Named entry point to use, if it does not exist in the metadata of the package it executes the function from the package directly using $packageName.$entryPoint()",
"type": "string"
},
"Parameters": {
"description": "Command-line parameters passed to Python wheel task. Leave it empty if named_parameters is not null.",
"type": "array",
"insertionOrder": false,
"items": {
"type": "string"
}
},
"NamedParameters": {
"description": "Command-line parameters passed to Python wheel task in the form of [\"--name=task\", \"--data=dbfs:/path/to/data.json\"]. Leave it empty if parameters is not null",
"type": "object"
}
},
"required": [
"PackageName"
],
"additionalProperties": false
},
"Libraries": {
"description": "An optional list of libraries to be installed on the cluster that executes the task. The default value is an empty list.",
"type": "array",
"insertionOrder": false,
"items": {
"type": "object"
}
},
"EmailNotifications": {
"$ref": "#/definitions/EmailNotifications"
},
"TimeoutSeconds": {
"description": "An optional timeout applied to each run of this job task. The default behavior is to have no timeout.",
"type": "integer"
},
"MaxRetries": {
"description": "An optional maximum number of times to retry an unsuccessful run. A run is considered to be unsuccessful if it completes with the FAILED result_state or INTERNAL_ERROR life_cycle_state. The value -1 means to retry indefinitely and the value 0 means to never retry. The default behavior is to never retry.",
"type": "integer"
},
"MinRetryIntervalMillies": {
"description": "An optional minimal interval in milliseconds between the start of the failed run and the subsequent retry run. The default behavior is that unsuccessful runs are immediately retried.",
"type": "integer"
},
"RetryOnTimeout": {
"description": "An optional policy to specify whether to retry a task when it times out. The default behavior is to not retry on timeout.",
"type": "boolean"
}
},
"required": [
"TaskKey"
],
"additionalProperties": false
},
"EmailNotifications": {
"type": "object",
"properties": {
"OnStart": {
"type": "array",
"description": "A list of email addresses to be notified when a run begins. If not specified on job creation, reset, or update, the list is empty, and notifications are not sent.",
"insertionOrder": false,
"items": {
"type": "string"
}
},
"OnSuccess": {
"type": "array",
"description": "A list of email addresses to be notified when a run successfully completes. A run is considered to have completed successfully if it ends with a TERMINATED life_cycle_state and a SUCCESSFUL result_state. If not specified on job creation, reset, or update, the list is empty, and notifications are not sent.",
"insertionOrder": false,
"items": {
"type": "string"
}
},
"OnFailure": {
"type": "array",
"description": "A list of email addresses to be notified when a run unsuccessfully completes. A run is considered to have completed unsuccessfully if it ends with an INTERNAL_ERROR life_cycle_state or a SKIPPED, FAILED, or TIMED_OUT result_state. If this is not specified on job creation, reset, or update the list is empty, and notifications are not sent.",
"insertionOrder": false,
"items": {
"type": "string"
}
},
"NoAlertForSkippedRuns": {
"description": "If true, do not send email to recipients specified in on_failure if the run is skipped.",
"type": "boolean"
}
},
"additionalProperties": false
},
"Schedule": {
"type": "object",
"properties": {
"QuartzCronExpression": {
"description": "A Cron expression using Quartz syntax that describes the schedule for a job. See Cron Trigger for details. This field is required.\n\n",
"type": "string"
},
"TimezoneId": {
"description": "A Java timezone ID. The schedule for a job is resolved with respect to this timezone. See Java TimeZone for details. This field is required.\n\n",
"type": "string"
},
"PauseStatus": {
"description": "Indicate whether this schedule is paused or not.",
"type": "string",
"enum": [
"PAUSED",
"UNPAUSED"
]
}
},
"additionalProperties": false
},
"AccessUser": {
"type": "object",
"properties": {
"UserName": {
"type": "string"
},
"PermissionLevel": {
"type": "string"
}
},
"additionalProperties": false
}
},
"properties": {
"Name": {
"type": "string",
"description": "An optional name for the job."
},
"Tags": {
"type": "object",
"description": "A map of tags associated with the job. These are forwarded to the cluster as cluster tags for jobs clusters, and are subject to the same limitations as cluster tags. A maximum of 25 tags can be added to the job."
},
"Tasks": {
"description": "A list of task specifications to be executed by this job.",
"type": "array",
"insertionOrder": false,
"items": {
"$ref": "#/definitions/Task"
}
},
"EmailNotifications": {
"$ref": "#/definitions/EmailNotifications"
},
"TimeoutSeconds": {
"description": "An optional timeout applied to each run of this job. The default behavior is to have no timeout.",
"type": "integer"
},
"Schedule": {
"$ref": "#/definitions/Schedule"
},
"MaxConcurrentRuns": {
"description": "An optional maximum allowed number of concurrent runs of the job.\n\nSet this value if you want to be able to execute multiple runs of the same job concurrently. This is useful for example if you trigger your job on a frequent schedule and want to allow consecutive runs to overlap with each other, or if you want to trigger multiple runs which differ by their input parameters.\n\nThis setting affects only new runs. For example, suppose the job's concurrency is 4 and there are 4 concurrent active runs. Then setting the concurrency to 3 won't kill any of the active runs. However, from then on, new runs are skipped unless there are fewer than 3 active runs.\n\nThis value cannot exceed 1000. Setting this value to 0 causes all new runs to be skipped. The default behavior is to allow only 1 concurrent run.",
"type": "integer"
},
"Format": {
"description": "Used to tell what is the format of the job. This field is ignored in Create/Update/Reset calls. When using the Jobs API 2.1 this value is always set to \"MULTI_TASK\".",
"type": "string",
"enum": [
"SINGLE_TASK",
"MULTI_TASK"
]
},
"AccessControlList": {
"description": "List of permissions to set on the job.",
"type": "array",
"insertionOrder": false,
"items": {
"$ref": "#/definitions/AccessUser"
}
},
"ExistingClusterId": {
"description": "If existing_cluster_id, the ID of an existing cluster that is used for all runs of this task. When running tasks on an existing cluster, you may need to manually restart the cluster if it stops responding. We suggest running jobs on new clusters for greater reliability.",
"type": "string"
},
"JobId": {
"type": "integer"
},
"CreatedTime": {
"type": "integer"
},
"RunAsOwner": {
"type": "boolean"
},
"Settings": {
"type": "object"
},
"RunAsUserName":{
"type": "string"
},
"CreatorUserName": {
"type": "string"
}
},
"additionalProperties": false,
"readOnlyProperties": [
"/properties/JobId",
"/properties/CreatedTime"
],
"primaryIdentifier": [
"/properties/JobId"
],
"handlers": {
"create": {
"permissions": [
]
},
"read": {
"permissions": [
]
},
"update": {
"permissions": [
]
},
"delete": {
"permissions": [
]
},
"list": {
"permissions": [
]
}
}
}