@Generated public interface ClustersService
Databricks maps cluster node instance types to compute units known as DBUs. See the instance type pricing page for a list of the supported instance types and their corresponding DBUs.
A Databricks cluster is a set of computation resources and configurations on which you run data engineering, data science, and data analytics workloads, such as production ETL pipelines, streaming analytics, ad-hoc analytics, and machine learning.
You run these workloads as a set of commands in a notebook or as an automated job. Databricks makes a distinction between all-purpose clusters and job clusters. You use all-purpose clusters to analyze data collaboratively using interactive notebooks. You use job clusters to run fast and robust automated jobs.
You can create an all-purpose cluster using the UI, CLI, or REST API. You can manually terminate and restart an all-purpose cluster. Multiple users can share such clusters to do collaborative interactive analysis.
IMPORTANT: Databricks retains cluster configuration information for terminated clusters for 30 days. To keep an all-purpose cluster configuration even after it has been terminated for more than 30 days, an administrator can pin a cluster to the cluster list.
This is the high-level interface, that contains generated methods.
Evolving: this interface is under development. Method signatures may change.
| Modifier and Type | Method and Description |
|---|---|
void |
changeOwner(ChangeClusterOwner changeClusterOwner)
Change the owner of the cluster.
|
CreateClusterResponse |
create(CreateCluster createCluster)
Creates a new Spark cluster.
|
void |
delete(DeleteCluster deleteCluster)
Terminates the Spark cluster with the specified ID.
|
void |
edit(EditCluster editCluster)
Updates the configuration of a cluster to match the provided attributes and size.
|
GetEventsResponse |
events(GetEvents getEvents)
Retrieves a list of events about the activity of a cluster.
|
ClusterDetails |
get(GetClusterRequest getClusterRequest)
Retrieves the information for a cluster given its identifier.
|
GetClusterPermissionLevelsResponse |
getPermissionLevels(GetClusterPermissionLevelsRequest getClusterPermissionLevelsRequest)
Gets the permission levels that a user can have on an object.
|
ClusterPermissions |
getPermissions(GetClusterPermissionsRequest getClusterPermissionsRequest)
Gets the permissions of a cluster.
|
ListClustersResponse |
list(ListClustersRequest listClustersRequest)
Return information about all pinned and active clusters, and all clusters terminated within the
last 30 days.
|
ListNodeTypesResponse |
listNodeTypes()
Returns a list of supported Spark node types.
|
ListAvailableZonesResponse |
listZones()
Returns a list of availability zones where clusters can be created in (For example,
us-west-2a).
|
void |
permanentDelete(PermanentDeleteCluster permanentDeleteCluster)
Permanently deletes a Spark cluster.
|
void |
pin(PinCluster pinCluster)
Pinning a cluster ensures that the cluster will always be returned by the ListClusters API.
|
void |
resize(ResizeCluster resizeCluster)
Resizes a cluster to have a desired number of workers.
|
void |
restart(RestartCluster restartCluster)
Restarts a Spark cluster with the supplied ID.
|
ClusterPermissions |
setPermissions(ClusterPermissionsRequest clusterPermissionsRequest)
Sets permissions on an object, replacing existing permissions if they exist.
|
GetSparkVersionsResponse |
sparkVersions()
Returns the list of available Spark versions.
|
void |
start(StartCluster startCluster)
Starts a terminated Spark cluster with the supplied ID.
|
void |
unpin(UnpinCluster unpinCluster)
Unpinning a cluster will allow the cluster to eventually be removed from the ListClusters API.
|
void |
update(UpdateCluster updateCluster)
Updates the configuration of a cluster to match the partial set of attributes and size.
|
ClusterPermissions |
updatePermissions(ClusterPermissionsRequest clusterPermissionsRequest)
Updates the permissions on a cluster.
|
void changeOwner(ChangeClusterOwner changeClusterOwner)
CreateClusterResponse create(CreateCluster createCluster)
If Databricks acquires at least 85% of the requested on-demand nodes, cluster creation will succeed. Otherwise the cluster will terminate with an informative error message.
Rather than authoring the cluster's JSON definition from scratch, Databricks recommends filling out the [create compute UI] and then copying the generated JSON definition from the UI.
[create compute UI]: https://docs.databricks.com/compute/configure.html
void delete(DeleteCluster deleteCluster)
void edit(EditCluster editCluster)
If a cluster is updated while in a `RUNNING` state, it will be restarted so that the new attributes can take effect.
If a cluster is updated while in a `TERMINATED` state, it will remain `TERMINATED`. The next time it is started using the `clusters/start` API, the new attributes will take effect. Any attempt to update a cluster in any other state will be rejected with an `INVALID_STATE` error code.
Clusters created by the Databricks Jobs service cannot be edited.
GetEventsResponse events(GetEvents getEvents)
ClusterDetails get(GetClusterRequest getClusterRequest)
GetClusterPermissionLevelsResponse getPermissionLevels(GetClusterPermissionLevelsRequest getClusterPermissionLevelsRequest)
ClusterPermissions getPermissions(GetClusterPermissionsRequest getClusterPermissionsRequest)
ListClustersResponse list(ListClustersRequest listClustersRequest)
ListNodeTypesResponse listNodeTypes()
ListAvailableZonesResponse listZones()
void permanentDelete(PermanentDeleteCluster permanentDeleteCluster)
In addition, users will no longer see permanently deleted clusters in the cluster list, and API users can no longer perform any action on permanently deleted clusters.
void pin(PinCluster pinCluster)
void resize(ResizeCluster resizeCluster)
void restart(RestartCluster restartCluster)
ClusterPermissions setPermissions(ClusterPermissionsRequest clusterPermissionsRequest)
GetSparkVersionsResponse sparkVersions()
void start(StartCluster startCluster)
void unpin(UnpinCluster unpinCluster)
void update(UpdateCluster updateCluster)
ClusterPermissions updatePermissions(ClusterPermissionsRequest clusterPermissionsRequest)
Copyright © 2026. All rights reserved.