Skip to Content
SourcesDatabricks

Databricks

Databricks

Scan Unity Catalog assets, notebooks, and pipelines.

Category
Warehouse & Lakehouse
Source type
DATABRICKS
Produces
tablenotebookpipeline

Databricks is a lakehouse and a compute platform in one, and Unity Catalog knows more about how data moves than almost any other system Classifyre connects to — including, uniquely, which columns feed which.

What you need to connect

A workspace URL and a SQL warehouse ID (the warehouse used to sample rows), plus one of three authentication modes:

ModeWhat you supply
Personal access tokenA workspace PAT
Service principalClient ID and secret — the right choice for automation
Azure service principalClient ID, tenant ID and secret, for Azure Databricks

The identity needs USE CATALOG / USE SCHEMA / SELECT on what you want scanned, and CAN USE on the SQL warehouse.

What Classifyre reads

Unity Catalog tables and views by default, scoped by catalog, schema, or an explicit table list — including or excluding the legacy hive_metastore catalog. Optionally also:

  • Notebooks — as assets in their own right, so a credential pasted into a notebook cell is found like any other secret.
  • Delta Live Tables pipelines — pipeline metadata as assets.

Shared behaviour · SQL databases

One asset per table or view, never one per row. The asset carries the table's structure — database, schema, table name, object type, its columns and their types, and a row-count estimate — and its content is a sample of real rows, formatted so a detector reads actual values rather than a schema dump.

How many rows, and which ones, is entirely up to the sampling strategy. Large tables are paged through by key rather than by OFFSET, so a scan that stops halfway can resume from where it left off instead of re-reading from the top.

Read-only throughout. The connector issues catalog queries and bounded SELECTs. Nothing is written back, and a read-only account is the right account to give it.

Metadata on every asset

Asset kind · table

FieldTypeAlways presentWhat it is
databasestringYesDatabase or catalog name
table_namestringYesTable name
table_typestringYesObject type (TABLE/VIEW)
schemastringNoSchema name
columnsobject[]NoColumns as {name, type} objects
row_countintegerNoEstimated number of rows
catalogstringNoUnity Catalog name
object_typestringNoSource object type

Asset kind · notebook

FieldTypeAlways presentWhat it is
kindstringYesAsset kind discriminator (notebook)
pathstringYesNotebook workspace path
object_idstringNoWorkspace object id
languagestringNoNotebook language
created_at_msintegerNoCreation time (epoch ms)
modified_at_msintegerNoLast modified time (epoch ms)

Asset kind · pipeline

FieldTypeAlways presentWhat it is
kindstringYesAsset kind discriminator (pipeline)
pipeline_idstringYesDelta Live Tables pipeline id
namestringYesPipeline name
statestringNoPipeline state

Lineage

Lineage

Unity Catalog answers the lineage question directly, so nothing here is guessed from SQL text — these are among the most trustworthy lineage edges in the product.

  • Table lineage records what each table was derived from.
  • Column lineage is optional because it costs one request per column, but when enabled it gives genuine column-to-column mappings rather than parsed approximations.
  • Upstreams in catalogs outside your scan scope are not dropped. They’re recorded by name, and if that catalog is scanned later the edge completes itself.

See Lineage & Relationships.

Worth knowing

  • Sampling runs on your SQL warehouse, so scan cost is warehouse cost. A serverless warehouse with a short auto-stop is the cheapest setup.
  • Column lineage on wide tables is slow. Leave it off for a first scan and turn it on once you know which catalogs matter.

Configuration

Beyond the fields below, every source also has the settings shared by all of them: the sampling strategy, the detectors to run, the scan schedule, and the compute limits for its scan jobs.

Required

Without these, the source will not save.

This section depends on which authentication method you pick — one of the following applies.

Personal Access Token

FieldTypeRequiredWhat it doesDefault
auth_mode"PAT_TOKEN"Yes
workspace_urlstringYesDatabricks workspace URL (for example, https://adb-1234567890123456.7.azuredatabricks.net)
warehouse_idstringYesDatabricks SQL warehouse ID used for sampling queries

Service Principal (OAuth M2M)

FieldTypeRequiredWhat it doesDefault
auth_mode"SERVICE_PRINCIPAL"Yes
workspace_urlstringYesDatabricks workspace URL (for example, https://adb-1234567890123456.7.azuredatabricks.net)
warehouse_idstringYesDatabricks SQL warehouse ID used for sampling queries
client_idstringYesDatabricks service principal client ID

Azure Service Principal

FieldTypeRequiredWhat it doesDefault
auth_mode"AZURE_SERVICE_PRINCIPAL"Yes
workspace_urlstringYesAzure Databricks workspace URL (for example, https://adb-1234567890123456.7.azuredatabricks.net)
warehouse_idstringYesDatabricks SQL warehouse ID used for sampling queries
client_idstringYesAzure AD application (client) ID for the service principal
tenant_idstringYesAzure AD tenant ID

Secrets

Stored encrypted and never shown again after you save them. See Configuration & Fields.

This section depends on which authentication method you pick — one of the following applies.

Databricks PAT

FieldTypeRequiredWhat it doesDefault
tokenstringYesDatabricks personal access token (PAT)

Databricks Service Principal

FieldTypeRequiredWhat it doesDefault
client_secretstringYesDatabricks service principal client secret

Optional

Everything you can tune. Sensible defaults apply when you leave them alone.

FieldTypeRequiredWhat it doesDefault
optionalobjectNono extra properties
connectionobjectNoDatabricks API and SQL statement execution tuning options.no extra properties
connection.max_statement_pollsintegerNoMaximum polling attempts when waiting for SQL statement completionmin 1, max 12030
connection.statement_timeout_secondsintegerNoMaximum wait timeout for SQL statement executionmin 5, max 60060
connection.timeout_secondsintegerNoHTTP timeout for Databricks API callsmin 5, max 30030
extractionobjectNoDatabricks Unity Catalog extraction feature flags.no extra properties
extraction.include_column_lineagebooleanNoAttempt to fetch column-level lineage metadatafalse
extraction.include_notebooksbooleanNoExtract workspace notebook metadata as additional assetsfalse
extraction.include_pipelinesbooleanNoExtract Delta Live Tables pipeline metadata as additional assetsfalse
extraction.include_table_lineagebooleanNoInclude table-level lineage links between Unity Catalog tablestrue
scopeobjectNoDatabricks Unity Catalog scope filters.no extra properties
scope.exclude_catalogsarrayNoCatalog denylist (exact catalog names)[]
scope.exclude_catalogs[]stringNo
scope.exclude_schemasarrayNoSchema denylist. Accepted forms: schema or catalog.schema["information_schema"]
scope.exclude_schemas[]stringNo
scope.include_catalogsarrayNoOptional catalog allowlist (exact catalog names)
scope.include_catalogs[]stringNo
scope.include_hive_metastorebooleanNoInclude hive_metastore catalog in extractionfalse
scope.include_schemasarrayNoOptional schema allowlist. Accepted forms: schema or catalog.schema
scope.include_schemas[]stringNo
scope.include_tablesarrayNoOptional table allowlist. Accepted forms: table, schema.table, or catalog.schema.table
scope.include_tables[]stringNo
scope.table_limit_per_schemaintegerNoOptional cap on number of Unity Catalog tables extracted per schemamin 1
Last updated on