| name | databricks-unity-catalog |
| description | Unity Catalog system tables and volumes. Use when querying system tables (audit, lineage, billing) or working with volume file operations (upload, download, list files in /Volumes/). |
| compatibility | Requires databricks CLI (>= v1.0.0) |
| metadata | {"version":"0.1.0"} |
| parent | databricks-core |
Unity Catalog
Guidance for Unity Catalog system tables, volumes, and governance.
When to Use This Skill
Use this skill when:
- Working with volumes (upload, download, list files in
/Volumes/)
- Querying lineage (table dependencies, column-level lineage)
- Analyzing audit logs (who accessed what, permission changes)
- Monitoring billing and usage (DBU consumption, cost analysis)
- Tracking compute resources (cluster usage, warehouse metrics)
- Reviewing job execution (run history, success rates, failures)
- Analyzing query performance (slow queries, warehouse utilization)
- Profiling data quality (data profiling, drift detection, metric tables)
Reference Files
Quick Start
Create Unity Catalog Objects (CLI)
IMPORTANT: Use --json for creating UC objects. Positional args vary by command and version.
databricks catalogs create my_catalog
databricks schemas create my_schema my_catalog
databricks volumes create my_catalog my_schema my_volume MANAGED
databricks catalogs list
databricks schemas list my_catalog
databricks volumes list my_catalog.my_schema
Volume File Operations (CLI)
databricks fs requires the dbfs: scheme prefix even for UC Volume paths — without it the CLI treats the path as local filesystem and errors with no such directory.
databricks fs ls dbfs:/Volumes/catalog/schema/volume/path/
databricks fs cp -r --overwrite /tmp/data dbfs:/Volumes/catalog/schema/volume/dest
databricks fs cp dbfs:/Volumes/catalog/schema/volume/file.csv /tmp/file.csv
databricks fs mkdirs dbfs:/Volumes/catalog/schema/volume/new_folder
Enable System Tables Access
GRANT USE CATALOG ON CATALOG system TO `data_engineers`;
GRANT USE SCHEMA ON SCHEMA system.access TO `data_engineers`;
GRANT SELECT ON SCHEMA system.access TO `data_engineers`;
Common Queries
SELECT source_table_full_name, source_column_name
FROM system.access.table_lineage
WHERE target_table_full_name = 'catalog.schema.table'
AND event_date >= current_date() - 7;
SELECT event_time, user_identity.email, action_name, request_params
FROM system.access.audit
WHERE action_name LIKE '%GRANT%' OR action_name LIKE '%REVOKE%'
ORDER BY event_time DESC
LIMIT 100;
SELECT workspace_id, sku_name, SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE usage_date >= current_date() - 30
GROUP BY workspace_id, sku_name;
SQL Queries via CLI
Use databricks experimental aitools tools query for system table queries:
databricks experimental aitools tools query --warehouse WAREHOUSE_ID "
SELECT source_table_full_name, target_table_full_name
FROM system.access.table_lineage
WHERE event_date >= current_date() - 7
"
Best Practices
- Filter by date - System tables can be large; always use date filters
- Use appropriate retention - Check your workspace's retention settings
- Grant minimal access - System tables contain sensitive metadata
- Schedule reports - Create scheduled queries for regular monitoring
Related Skills
- databricks-pipelines - for pipelines that write to Unity Catalog tables
- databricks-jobs - for job execution data visible in system tables
- databricks-synthetic-data-gen - for generating data stored in Unity Catalog Volumes
- databricks-aibi-dashboards - for building dashboards on top of Unity Catalog data
Resources