{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":20658,"path":"integrate-applications/databricks-metadata-collector.md","title":"Databricks metadata collector","bundle":null,"doc_type":null,"release":"australia","body":"\n# Databricks metadata collector\n\nThe Databricks metadata collector provides read-only access to metadata from an external Databricks account.\n\nThe collector harvests metadata from data assets in Databricks Hive Metadata, Unity Catalog \\(including Delta Lake\\), Workflows, and Notebooks.\n\n## Metadata cataloged\n\nThe Databricks collector catalogs the following information.\n\n<table id=\"table_bqt_dpz_qhc\"><thead><tr><th>\n\nObject\n\n</th><th>\n\nInformation cataloged\n\n</th></tr></thead><tbody><tr><td>\n\nColumns\n\n</td><td>\n\nName, Description, JDBC type, Column Type, Is Nullable, Default Value, Column size, Column index\n\n Extended metadata: Tags\n\n **Note:** Deprecated columns and any lineage related to these deprecated columns are not cataloged.\n\n</td></tr><tr><td>\n\nTable\n\n</td><td>\n\nName, Description, Schema, Primary key, Foreign key\n\n Extended metadata: Tags, Owner, Type, Creation date, Last Modified, Location, Provider, Version, Size, File Count, Partition Columns, Properties\n\n</td></tr><tr><td>\n\nModel\n\n</td><td>\n\nName, Owner, Description, Created By, Created At, Last Modified By, Last Modified At, Securable Kind, Securable Type\n\n</td></tr><tr><td>\n\nViews\n\n</td><td>\n\nName, Description, SQL definition, Tags\n\n</td></tr><tr><td>\n\nSchema\n\n</td><td>\n\nName\n\n Extended metadata: Tags\n\n</td></tr><tr><td>\n\nDatabase\n\n</td><td>\n\nType, Name, Server, Port, Environment, JDBC URL\n\n Extended metadata: Tags\n\n</td></tr><tr><td>\n\nNotebook\n\n</td><td>\n\nNotebook ID, Path, Language Type \\(SQL, Python, Scala, R\\)\n\n</td></tr><tr><td>\n\nFunction\n\n</td><td>\n\nName, Description, Function Type\n\n</td></tr><tr><td>\n\nJob\n\n</td><td>\n\nTitle, Description, Creator, Created At, Job run as, Format, Max Concurrent Runs, Notification On Start, Timeouts \\(sec\\), Notification On Success, Schedule, Git Source, Notification on Failure, Tags, List of tasks, List of clusters\n\n</td></tr><tr><td>\n\nCluster\n\n</td><td>\n\nName, Description, Node Type ID, Driver Node Type ID, Spark Version, Number of Workers, Autoscale Max Workers, Autoscale Min Workers, AWS Attributes, Tags\n\n</td></tr><tr><td>\n\nTask\n\n</td><td>\n\nTask Key, Type of Task \\(Notebook, dbt, Spark jar, Python script, Python wheel, Pipeline task, SQL\\), Task timeout, Retry interval, Cluster used by the task, Max retries, Depends on, Libraries, Notifications \\(On start, On success, On failure\\), Notebook File Path, Notebook Source, Notebook Parameters, Spark Jar Main Class Name, Spark Jar Parameters, Python Script File path, Python Script Parameters, Spark Submit Parameters, Pipeline ID, Pipeline Full Refresh, Python Wheel Package Name, Python Wheel Entry Point, Python Wheel Parameters, SQL Warehouse, SQL Query ID, SQL Dashboard ID, SQL Alert ID, Dbt Project Directory, Dbt Profiles Directory, Dbt warehouse, Dbt catalog, Dbt schema, Dbt commands\n\n</td></tr><tr><td>\n\nExternal Location\n\n</td><td>\n\nName, External URL, Description, Data Source Type, Created Date, Created By, Owner\n\n</td></tr><tr><td>\n\nStorage Credential\n\n</td><td>\n\nName, Description, Credential, Created Date, Created By, Owner\n\n</td></tr><tr><td>\n\nVolume\n\n</td><td>\n\nName, Description, Type, Owner, Created By, Created At, Last Modified By, Last Modified At, Metastore ID\n\n</td></tr><tr><td>\n\nMaterialized View\n\n</td><td>\n\nName, SQL Definition, Created, Last Modified\n\n</td></tr><tr><td>\n\nMetric View\n\n</td><td>\n\nName, Description, YAML Definition, Source Table, Source Table Type, Filter, Created, Last Modified\n\n</td></tr></tbody>\n</table>Following additional information is cataloged when you run the collector with the **​Enable Governance Metadata Collection** option.\n\n<table id=\"table_governance_policies\"><thead><tr><th>\n\nObject\n\n</th><th>\n\nInformation Cataloged\n\n</th></tr></thead><tbody><tr><td>\n\nRow Filter Access Control\n\n</td><td>\n\nName\n\n</td></tr><tr><td>\n\nColumn Mask Access Control\n\n</td><td>\n\nName\n\n</td></tr><tr><td>\n\nAttribute Based Access Control\n\n</td><td>\n\nName, Description, Created by, Created at, Modified by, Modified at, On securable type, For securable type, To principals, Except principals\n\n</td></tr><tr><td>\n\nWorkspace bindings\n\n</td><td>\n\nWorkspace ID, Binding type\n\n</td></tr><tr><td>\n\nPrivileges\n\n</td><td>\n\nGranted to, Granted by, Privilege type, Granted on object, Inherited from\n\n</td></tr></tbody>\n</table>## Relationships between objects\n\nThe harvested metadata includes catalog pages for the following data asset types. Each catalog page has a relationship to the other related data asset types.\n\n<table id=\"table_dqf_nxl_rhc\"><thead><tr><th>\n\nData asset page\n\n</th><th>\n\nRelationships\n\n</th></tr></thead><tbody><tr><td>\n\nTable\n\n</td><td>\n\n-   Columns contained in Table\n-   ​​​Table Indexes​\n-   ​​Has privileges\n\n Columns contained in Table\n\n</td></tr><tr><td>\n\nSchema\n\n</td><td>\n\n-   Database that contains Schema\n-   Table that is part of Schema\n-   Has privileges\n\n</td></tr><tr><td>\n\nDatabase\n\n</td><td>\n\nSchema contained in Database\n\n</td></tr><tr><td>\n\nColumns\n\n</td><td>\n\n-   Table Indexes\n-   Table containing Column\n\n</td></tr><tr><td>\n\nTable Indexes\n\n</td><td>\n\nColumns\n\n</td></tr><tr><td>\n\nJob\n\n</td><td>\n\n-   Clusters used by tasks in Job\n-   Tasks contained within Job\n\n</td></tr><tr><td>\n\nCluster\n\n</td><td>\n\n-   Cluster contained in job\n-   Task using Cluster\n\n</td></tr><tr><td>\n\nTask\n\n</td><td>\n\n-   Job containing Task\n-   Cluster used by Task\n-   Tasks depending on Task\n\n</td></tr><tr><td>\n\nNotebook\n\n</td><td>\n\n-   Folder containing Notebook\n-   Task sourcing data from Notebook\n\n</td></tr><tr><td>\n\nFolder\n\n</td><td>\n\n-   Folders contained in Folder\n-   Notebooks contained in Folder\n\n</td></tr><tr><td>\n\nExternal Location\n\n</td><td>\n\n-   Uses storage credential\n-   Connects to datasource \\(S3 bucket, S3 Object, Azure container or Azure blob\\)\n-   Has workspace bindings\n\n</td></tr><tr><td>\n\nStorage Credential\n\n</td><td>\n\n-   Has workspace bindings\n-   Used by External Location\n\n</td></tr><tr><td>\n\nModel\n\n</td><td>\n\n-   Registered in schema\n-   Stored in data assets \\(S3 Bucket, S3 Object\\)\n\n</td></tr><tr><td>\n\nVolume\n\n</td><td>\n\n-   Contained within schema\n-   Stored in data assets \\(S3 Bucket, S3 Object\\)\n\n</td></tr><tr><td>\n\nMaterialized View\n\n</td><td>\n\n-   Schema that contains Materialized Views\n-   Columns that are part of Materialized Views\n\n</td></tr><tr><td>\n\nMetric View\n\n</td><td>\n\n-   Schema that contains Metric Views\n-   Columns that are part of Metric Views\n\n</td></tr><tr><td>\n\nPipeline\n\n</td><td>\n\n-   Copies data to Databricks Table/Database Schema\n-   Ingests data from Database Table/Database Schema\n\n</td></tr><tr><td>\n\nUnity Catalog Metastore\n\n</td><td>\n\nDatabases contained in metastore\n\n</td></tr><tr><td>\n\nRow Filter Access Control\n\n</td><td>\n\n-   Applies to table\n-   Uses function\n-   Using column\n-   Contained within schema\n\n</td></tr><tr><td>\n\nColumn Mask Access Control\n\n</td><td>\n\n-   Applies to column\n-   Uses function\n-   Contained within schema\n\n</td></tr><tr><td>\n\nAttribute Based Access Control\n\n</td><td>\n\n-   Applies to catalog, schema and table\n-   Defined on catalog, schema and table\n-   Uses function\n\n</td></tr><tr><td>\n\nCatalog\n\n</td><td>\n\n-   Has workspace bindings\n-   Has privileges\n\n</td></tr></tbody>\n</table>## Lineage for Databricks\n\nThe following lineage information is collected by the Databricks collector.\n\n**Note:** The collector does not support lineage for SQL statements defined via variable statements.\n\n<table id=\"table_esh_q54_13c\"><thead><tr><th>\n\nObject\n\n</th><th>\n\nLineage available\n\n</th></tr></thead><tbody><tr><td>\n\nColumn in view\n\n</td><td>\n\nThe collector identifies the associated column in an upstream view or table for both Hive metastore and Unity Catalog: -   Where the data is sourced from\n-   That sort the rows via ORDER BY\n-   That filter the rows via WHERE/HAVING\n-   That aggregate the rows via GROUP BY\n\n **Note:** Deprecated columns and any lineage related to these deprecated columns are not cataloged.\n\n</td></tr><tr><td>\n\nNotebook\n\n</td><td>\n\nTasks that reference Notebook. \\(Only if Databricks Unity Catalog is enabled\\).\n\n</td></tr><tr><td>\n\nTable\n\n</td><td>\n\n-   The collector identifies the upstream and downstream tables and their external locations \\(S3 and ADLS Gen2 data assets\\) along with the intermediate Job.\n-   The collector harvests the Databricks table lineage to S3 object.\n\n</td></tr></tbody>\n</table>## Authentication supported\n\nThe Databricks collector supports Personal access token authentication and Oauth service principal authentication.\n\n-   **[Prepare to run the Databricks collector](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/prepare-to-run-the-databricks-collector.md)**  \nComplete authentication and permission configuration tasks before running the Databricks metadata collector.\n-   **[Create a Databricks metadata collector](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/create-databricks-metadata-collector.md)**  \nCreate a collector to import metadata from Databricks.\n\n**Parent Topic:**[Configuring metadata collectors](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/configure-metadata-collectors-dc.md)\n\n"}}