databricks-unity-catalog

Query Unity Catalog system tables and manage volume file operations on Databricks.

Updated Mar 5, 2026
One-click install
npx skills add https://github.com/FMurray/mlfts --skill databricks-unity-catalog-fmurray
Or copy as Structured Prompt for Agentโ–ผ
Please help me install this Agent Skill.
Skill: databricks-unity-catalog
Source: https://github.com/FMurray/mlfts/tree/main/.agents/skills/databricks-unity-catalog
Command: npx skills add https://github.com/FMurray/mlfts --skill databricks-unity-catalog-fmurray

SYSTEM DOCUMENTATION & REQUIREMENTS

๐Ÿ’ก This Skill requires databricks-sdk.

What problem does it solve? Databricks administrators and data engineers struggle to answer governance questions like who accessed a table, what feeds a downstream dataset, or how much DBU a workspace consumed, because this data lives scattered across Unity Catalog system tables and volume storage. ## Core Features & Use Cases - System Table Queries: Ready-to-use SQL for audit logs, table and column lineage, billing/DBU usage, compute events, job run history, and query performance across the system catalog schemas. - Volume File Operations: Upload, download, list, and organize files in Unity Catalog Volumes using MCP tools, the Python SDK, or SQL read_files. - Governance & Access Control: Grant patterns for system schemas and volumes, plus audit queries for permission changes and sensitive data access. - Use Case: A platform engineer notices a spike in costs and uses the billing queries to break down DBU consumption by workspace and SKU, then checks audit logs to see which clusters drove the increase. ## Quick Start Ask the assistant to show which tables feed into a specific Unity Catalog table using system.access.table_lineage, or to upload a local CSV file into a volume path.

Frequently Asked Questions about databricks-unity-catalog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query table lineage in Databricks Unity Catalog?โ–ผ

Query system.access.table_lineage filtering by target_table_full_name to find upstream sources, or by source_table_full_name for downstream impact. Always filter on event_date since the table is date-partitioned, and use system.access.column_lineage for column-level tracking.

How to upload files to a Unity Catalog volume?โ–ผ

Use the upload_to_volume MCP tool with a local path and a /Volumes/catalog/schema/volume/path destination, or the Python SDK's w.files.upload_from with use_parallel=True for large files. You need WRITE VOLUME privilege plus USE CATALOG and USE SCHEMA on the parents.

How do I monitor DBU usage and cost in Databricks?โ–ผ

Query system.billing.usage grouped by usage_date, workspace_id, and sku_name to get DBU consumption. Join with system.billing.list_prices on sku_name and cloud to estimate dollar costs using current list prices.

Why do I get PERMISSION_DENIED when accessing a volume?โ–ผ

Volume access requires READ VOLUME or WRITE VOLUME on the volume itself plus USE CATALOG and USE SCHEMA on its parents. Check current grants with w.grants.get using SecurableType.VOLUME, and verify the path follows the /Volumes/catalog/schema/volume format.

What is the retention period for Databricks system tables?โ–ผ

Audit logs, billing usage, and lineage retain 365 days, while query history and compute events retain 30 days. Plan scheduled aggregation jobs if you need longer history for dashboards or compliance reporting.

When should I use managed vs external volumes in Unity Catalog?โ–ผ

Use managed volumes when Databricks should control the storage location in the default metastore. Use external volumes when data already exists in your S3, ADLS, or GCS storage, or when you need cross-workspace access and custom retention policies.