PII Anonymization with dbt™ Mesh Setup
Overview
Architecture
Parent Repo (customer-data-platform)
├── PII Models (private)
├── Anonymized Models (public via mesh)
└── Data transformations
Child Repo (analytics-workspace)
├── Consumes anonymized models from parent
├── Creates analytics models
└── Business intelligence layer
Parent Repository Setup
1. Project Structure
# dbt_project.yml (Parent)
name: 'customer_data_platform'
version: '1.0.0'
config-version: 2
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
models:
customer_data_platform:
# Private PII models - not exposed
staging:
+materialized: table
+group: private_data
# Public anonymized models - exposed via mesh
marts:
anonymized:
+materialized: table
+group: public_analytics
+access: public
2. Model Groups Configuration
3. Private PII Models
4. Public Anonymized Models (Exposed via Mesh)
Child Repository Setup
1. Paradime Mesh Dependencies Configuration
2. Project Configuration
3. Consuming Parent Models
4. Business Intelligence Models
Paradime Configuration
1. Producer Project Setup
2. Consumer Project API Credentials Setup
3. Model Referencing in Consumer Project
Security Considerations
Access Control
Testing Strategy
1. Parent Project Tests
2. Child Project Tests
Best Practices
Troubleshooting
Common Issues
Debug Commands
Related Docs:
PreviousMigrating dbt™ jobs from Github Actions to Paradime BoltNextPython Data Pipeline using dltHub - Google Sheets to Snowflake
Last updated
Was this helpful?