Unity Catalog no Databricks: governança unificada de dados e IA
João Barros
01 de January de 2025
2 min de leitura
O Unity Catalog é a solução de governança de dados do Databricks que unifica o controlo de acesso, a linhagem e a auditoria num único plano de metadados partilhado entre todos os workspaces. Substitui os metastores Hive locais por um catálogo centralizado e multi-workspace.
Hierarquia de objectos
Metastore (1 por região)
└─ Catalog (ex: prod, dev, raw)
└─ Schema / Database
└─ Table / View / Volume / Function / Model
Criar estrutura básica
-- SQL no Databricks
CREATE CATALOG IF NOT EXISTS prod;
CREATE SCHEMA IF NOT EXISTS prod.vendas;
CREATE TABLE prod.vendas.fact_orders
USING DELTA AS SELECT * FROM hive_metastore.legacy.orders;
Controlo de acesso granular
-- Dar acesso de leitura a um grupo
GRANT SELECT ON TABLE prod.vendas.fact_orders TO `analysts`;
-- Acesso a schema completo
GRANT USE SCHEMA, SELECT ON SCHEMA prod.vendas TO `data_team`;
-- Mascarar coluna sensível
ALTER TABLE prod.vendas.clientes
ALTER COLUMN nif SET MASK mask_pii USING COLUMNS (current_user());
Linhagem automática
O Unity Catalog captura automaticamente a linhagem entre tabelas quando usa SQL ou Delta Live Tables. Visualize no Data Explorer: Table → Lineage Graph.
External Locations e Volumes
-- Registar storage externo
CREATE EXTERNAL LOCATION my_adls
URL 'abfss://container@account.dfs.core.windows.net/'
WITH (STORAGE CREDENTIAL my_credential);
-- Volume para acesso a ficheiros não-tabulares
CREATE VOLUME prod.raw.incoming_files
LOCATION 'abfss://container@account.dfs.core.windows.net/incoming/';
Conclusão
O Unity Catalog transforma o Databricks num plataforma enterprise-ready. Com um único catálogo para toda a organização, elimina silos de permissões entre workspaces e dá às equipas de dados visibilidade completa sobre quem acede ao quê e de onde vêm os dados.