A multi-cloud account-level metadata collection tool for Databricks. Discovers and collects metadata from all workspaces, metastores, catalogs, and tables across your Databricks account.
- Account-level discovery: Scans all workspaces and metastores via Databricks Account API
- Multi-cloud support: Works with Azure, AWS, and GCP Databricks accounts
- Unity Catalog metadata: Collects catalogs, schemas, tables, volumes, and external locations
- Table size collection: Tiered approach for efficient size collection (Tier 1: bulk query, Tier 2: SQL warehouse, Tier 3: Spark cluster)
- Workspace features: Collects admin info, IP access lists, private endpoints, and configuration settings
- Output options: CSV files, Unity Catalog volume upload
pip install databricks_metadata_tool-1.0.0-py3-none-any.whlgit clone https://github.com/your-org/databricks-metadata-tool.git
cd databricks-metadata-tool
pip install -e .Set the following environment variables:
export DATABRICKS_ACCOUNT_ID=<your-account-id>
export DATABRICKS_CLIENT_ID=<service-principal-app-id>
export DATABRICKS_CLIENT_SECRET=<service-principal-secret>dbmeta --scandbmeta --collect --admin-workspace <workspace-url> --warehouse-id <warehouse-id>dbmeta --collect-dryrun --admin-workspace <workspace-url> --warehouse-id <warehouse-id>dbmeta --collect --admin-workspace <workspace-url> --warehouse-id <warehouse-id> --write-to-volumeCopy config.yaml.example to config.yaml and customize as needed:
databricks:
account_id: null # Set via DATABRICKS_ACCOUNT_ID env var
cloud: azure # azure, aws, or gcp
collection:
collect_tables: true
collect_sizes: true
size_workers: 20
size_threshold: 200 # Use Spark for catalogs with > 200 tablesaccount_workspaces_*.csv- All workspaces in the accountaccount_metastores_*.csv- All metastoresaccount_summary_*.csv- Summary statistics
collect_workspaces_*.csv- Enriched workspace detailscollect_catalogs_*.csv- All catalogscollect_tables_<catalog>_*.csv- Tables per catalogcollect_schemas_<catalog>_*.csv- Schemas per catalogcollect_volumes_<catalog>_*.csv- Volumes per catalogcollect_external_locations_*.csv- External locationscollect_workspace_features_*.csv- Workspace configuration features
%pip install /Volumes/catalog/schema/volume/databricks_metadata_tool-1.0.0-py3-none-any.whl!python -m databricks_metadata_tool.cli --collect \
--admin-workspace "https://adb-xxx.azuredatabricks.net" \
--warehouse-id "xxx" \
--write-to-volumeMIT License