Contents

Chapter 1

Data Catalog Builder

Data Catalog Builder

Automated metadata discovery, data dictionary generation, quality scoring, and searchable catalog for Databricks Unity Catalog.

By Datanest Digital | Version 1.0.0 | $39



What You Get

  • Catalog Scanner β€” Discover tables, columns, and metadata across Unity Catalog schemas
  • Metadata Enricher β€” Add business descriptions, owners, tags, and classification labels
  • Lineage Mapper β€” Trace column-level lineage from bronze to gold layers
  • Search Index β€” Full-text search across table/column names, descriptions, and tags
  • Quality Scorer β€” Score tables on completeness, freshness, documentation, and conformance
  • Catalog Reporter β€” Generate Markdown data dictionaries from Jinja2 templates

File Tree

data-catalog-builder/
β”œβ”€β”€ README.md
β”œβ”€β”€ manifest.json
β”œβ”€β”€ LICENSE
β”œβ”€β”€ src/
β”‚  β”œβ”€β”€ catalog_scanner.py      # Unity Catalog metadata discovery
β”‚  β”œβ”€β”€ metadata_enricher.py     # Business metadata enrichment
β”‚  β”œβ”€β”€ lineage_mapper.py      # Column-level lineage tracing
β”‚  β”œβ”€β”€ search_index.py       # Full-text catalog search
β”‚  β”œβ”€β”€ quality_scorer.py      # Data quality scoring engine
β”‚  └── catalog_reporter.py     # Markdown report generator
β”œβ”€β”€ configs/
β”‚  β”œβ”€β”€ catalog_config.yaml     # Scanner and enrichment settings
β”‚  β”œβ”€β”€ classification_rules.yaml  # PII / sensitivity classification
β”‚  └── templates/
β”‚    └── table_doc.md.j2     # Jinja2 table documentation template
β”œβ”€β”€ notebooks/
β”‚  β”œβ”€β”€ scan_catalog.py       # Run catalog discovery scan
β”‚  └── catalog_dashboard.py     # Catalog health dashboard
β”œβ”€β”€ tests/
β”‚  β”œβ”€β”€ conftest.py         # Shared test fixtures
β”‚  β”œβ”€β”€ test_catalog_scanner.py   # Scanner tests
β”‚  └── test_quality_scorer.py    # Quality scoring tests
└── guides/
  └── data-catalog-guide.md    # Setup and usage guide
Chapter 2

Getting Started

Follow this guide to get data catalog builder up and running in your environment.

Getting Started

1. Configure the Scanner

Edit configs/catalog_config.yaml with your Unity Catalog settings:

yaml
scanner:
 catalogs: ["main"]
 schemas: ["bronze", "silver", "gold"]
 exclude_patterns: ["_tmp_*", "_staging_*"]

2. Scan Your Catalog

python
from src.catalog_scanner import CatalogScanner

scanner = CatalogScanner(config_path="configs/catalog_config.yaml")
catalog = scanner.scan_all()
print(f"Discovered {catalog.table_count} tables across {catalog.schema_count} schemas")

3. Enrich with Business Metadata

python
from src.metadata_enricher import MetadataEnricher

enricher = MetadataEnricher(config_path="configs/catalog_config.yaml")
enricher.apply_tags(catalog)
enricher.classify_columns(rules_path="configs/classification_rules.yaml")

4. Score Data Quality

python
from src.quality_scorer import QualityScorer

scorer = QualityScorer()
scores = scorer.score_catalog(catalog)
for table, score in scores.items():
  print(f"{table}: {score.overall:.0f}/100")

5. Generate Documentation

python
from src.catalog_reporter import CatalogReporter

reporter = CatalogReporter(template_path="configs/templates/table_doc.md.j2")
reporter.generate_all(catalog, output_dir="/Workspace/docs/catalog")

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Unity Catalog                     β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚ β”‚ Bronze  β”‚ β”‚ Silver β”‚ β”‚ Gold  β”‚      β”‚
β”‚ β”‚ tables  β”‚ β”‚ tables β”‚ β”‚ tables β”‚      β”‚
β”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚       β”‚       β”‚
    β–Ό       β–Ό       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Catalog Scanner             β”‚
β”‚ (discover tables, columns, stats)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β–Ό       β–Ό       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Metadataβ”‚ β”‚ Quality β”‚ β”‚  Lineage  β”‚
β”‚Enricherβ”‚ β”‚ Scorer  β”‚ β”‚  Mapper   β”‚
β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
  β”‚       β”‚        β”‚
  β–Ό       β–Ό        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Search Index + Catalog Reporter    β”‚
β”‚ (search, browse, export documentation) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Chapter 3
πŸ”’ Available in full product

Requirements

Chapter 4
πŸ”’ Available in full product

Advanced Reference

You’ve reached the end of the free preview

Get the full Data Catalog Builder and unlock everything.

All Chapters

Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.

Full Tool Suite

Access all interactive tools with complete data, all workload profiles, and the full scenario library.

Source Files

Downloadable source code, configuration files, and working examples from every chapter.

Lifetime Updates

Free updates for life. Every new chapter, tool, and improvement included.

Buy Now — $39 →
πŸ“¦ Free sample included — download another copy for the full product.
Data Catalog Builder v1.0.0 β€” Free Preview