Learn how to configure and manage Databricks clusters.
Configure instance pool for quality pipeline jobs
When you configure a Databricks instance pool in Clusters > Pools > Create Pool, select an LTS version from 13.3 LTS to 17.3LTS in the Preloaded Databricks Runtime Version box.
Understand the Databricks job workflow
- Job submission: When you start the pipeline run, the job is triggered in the Databricks environment according to the pipeline engine configuration. It uses the run configuration defined for the pipeline.
-
Installation of libraries and reference
data
- JAR libraries: For every job, the application JAR and libraries are installed on the job cluster.
- Reference data: Downloads reference data to the provided Fileshare path. This is a one-time activity unless data is updated or the path changes. Copying of reference data occurs for every job, but downloading occurs only once. The time required to download these artifacts depends on the step and the reference data used in the pipeline.
- Pipeline run: When the job is triggered on Databricks, a new job cluster is created and associated with the pool. If the pool has idle nodes, they are used by the job cluster. Otherwise, the pool creates new nodes as needed for the cluster. Once the job is complete, the resources are returned to the pool.
- Output generation: The job generates the output table based on pipeline runs and data processing.
- Monitoring and Logging: During job runs, Databricks provides monitoring and logging capabilities so you can track progress, resource utilization, and outcomes. You can specify a new cluster logs path or keep it the same as the fileshare path.
Best practices for configuring Databricks pools
| Scenario | Configuration | Explanation |
| Idle instance auto termination | Set to 2 minutes | Ensures idle clusters terminate quickly, minimizing compute costs. |
| Auto scaling local storage | Enable auto-scaling local storage |
During periods of high workload, additional disk space may be required if all data cannot be retained in memory. Enabling this option ensures that sufficient disk resources are available, thereby preventing failures that could result from exceeding the default allocation. For more information, refer to Autoscaling of Instance Storage. |
| Instance type selection |
Prefer on-demand instances for better reliability. However, you can choose spot instances based on requirements. For jobs that prioritize cost savings over reliability, populate pools with spot instances to reduce costs. AWS Instance type: r6id.xlarge Specifications: 4 vCPU, 32 GB RAM) Azure Use the equivalent VM type with similar CPU and RAM characteristics. |
Reliable for long-running profiling jobs, based on internal baselines. (Failures reduced).
This option provides extra disk space when workloads exceed memory and default disk allocation, preventing job failures. It is ideal for long-running profiling jobs or large datasets and helps ensure reliable, uninterrupted processing, as recommended by internal best practices.
For more information, refer to Pool Considerations. |
| Min Idle instances | Set to 0 (default) | Prevents unnecessary costs when no jobs are running. |
| Max capacity in Databricks pool |
Set according to quota constraints. The "Max capacity" in Databricks pool configuration and "Max Nodes" in the Data Integrity Suite pipeline engine determines the number of parallel jobs or pipelines (i.e., tables) that can be profiled in parallel. Any jobs exceeding the limit are queued. |
Determines parallel job/pipeline
capacity; excess jobs are queued. Refer to Manage Databricks quota limitation for more details. |
| Pipeline engine configuration |
Set the auto scale (min and max nodes) based on the data size. Autoscale: 1–10 nodes (for data up to 499 GB). Adjust according to quota constraints (e.g., >50 cores) |
Supports scaling based on data size and job concurrency; review periodically as data volumes change. |
Required permissions in Databricks
- Log in to Databricks.
- Click Catalog.
- Select the specific schema.
- Go to Permissions.
- Click Grant and assign the required permissions.
- Click Confirm. This will grant
the required permissions to the selected users.
- Basic user entitlements: These are inherited through
the users group.
- Workspace Access: Permission to access the Databricks workspace.
- Databricks SQL Access: Permission to use Databricks SQL features.
-
Additional user entitlements:
- Unrestricted Cluster Creation: You must have the Allow unrestricted cluster creation entitlement to create and manage clusters necessary for running quality tasks.
- Permissions:
- All-Purpose Cluster: Users need the Can Restart permission on targeted clusters.
- SQL Warehouse: Can use permission is required on targeted SQL warehouse.
- Instance Pool: Can Attach To permission is required for users to assign job clusters to instance pools, optimizing compute resources.
- Required permissions to access hive_metastore or
unity catalog: Appropriate privileges must be
granted on catalogs, schemas, or tables to
enable data access. These privileges can be
granted based on how users choose to manage the
data.
Catalog: USE CATALOG
Schema:
-
USE SCHEMA
-
SELECT
-
CREATE
-
MODIFY
Note: Modify schema and create table permissions are necessary to create or modify target table in the quality pipeline.Table: SELECT
Tip: You must have SELECT permissions on source tables to read the data. For the target table, you require sufficient privileges to perform operations that include SELECT, CREATE, and modify. -
- Advanced permissions for tables with row filter and column mask policies: If quality operations are to be performed on tables using row filter and column mask policies, the workspace must have the Serverless Compute feature enabled, and you must have appropriate policy permissions in place. For more information, see Row filters and column masks.
- Basic user entitlements: These are inherited through
the users group.
Manage Databricks quota limitation
To manage quota constraints effectively, configure instance pools with a defined Max Capacity. When the same pipeline engine is used for multiple pipelines, jobs run in batches. Using different pipeline engines for multiple pipelines has no impact. This configuration supports efficient resource utilization and controlled job runs. Benefits include:
-
Efficient resource utilization: Prevents exceeding core usage limits by controlling job concurrency.
-
Streamlined job run: Jobs are processed in batches, minimizing risk of quota violations.
-
Create an Instance Pool: Define the maximum capacity as the number of instances allocated for the workload.
-
Onboard datasources: Batch processing involves running jobs in a sequence where some jobs run concurrently while others wait in the queue. As jobs finish, the next queued jobs start processing.
Example configurations
| Databricks core | Instance pool | Pipeline engine | Capacity | ||||
|---|---|---|---|---|---|---|---|
| Quota limit (Cores) | Cores | Memory | Cluster type | Min nodes | Max nodes | Concurrent jobs | Max capacity (Instances) |
| 100 | 4 | 32 GB | Single node | 0 | 1 | 12 | 24 |
| 50 | 4 | 32 GB | Auto scale | 2 | 4 | 2 | 10 |