Proposta de site feita pela Genesis Innovation · conteúdo do LinkedIn de Daniel Santos

Pular para o conteúdo
Daniel Santos

Wiki Databricks

Unity Catalog e governança

Um lugar só para dizer quem pode ler o quê, com nome de três níveis (catálogo.schema.tabela), permissões herdadas e linhagem automática.

O Unity Catalog é a camada de governança do Databricks: um metastore por região, compartilhado entre workspaces, com os objetos organizados em três níveis.

Databricks SQLDatabricks SQL / Delta: roda num workspace, não aqui.
SELECT * FROM lakehouse.gold.vendas_diarias;   -- catálogo.schema.tabela

Permissões: o caminho inteiro precisa estar aberto

Para ler uma tabela, o usuário (ou grupo) precisa de três privilégios: USE CATALOG no catálogo, USE SCHEMA no schema e SELECT na tabela. Privilégio dado num nível é herdado pelos objetos abaixo: SELECT no schema vale para todas as tabelas dele, inclusive as que forem criadas depois.

Databricks SQLDatabricks SQL / Delta: roda num workspace, não aqui.
GRANT USE CATALOG ON CATALOG lakehouse TO `analistas`;
GRANT USE SCHEMA ON SCHEMA lakehouse.gold TO `analistas`;
GRANT SELECT ON SCHEMA lakehouse.gold TO `analistas`;

GRANT USE CATALOG ON CATALOG lakehouse TO `financeiro`;
GRANT USE SCHEMA ON SCHEMA lakehouse.gold TO `financeiro`;
GRANT SELECT ON TABLE lakehouse.gold.vendas_diarias TO `financeiro`;

SHOW GRANTS ON TABLE lakehouse.gold.vendas_diarias;

Os analistas leem qualquer tabela da gold; o financeiro, só vendas_diarias. Ninguém dos dois enxerga bronze nem silver. A demonstração de linhagem na página inicial deste site aplica exatamente essa regra.

Boas práticas

  • Dê permissão a grupos, nunca a pessoas: a pessoa entra e sai do grupo, e a regra fica.
  • Separe ambientes por catálogo (dev, prod) e camadas por schema, ou o contrário, mas de forma consistente.
  • Use *views* ou filtros de linha e máscaras de coluna para dado sensível, em vez de copiar tabela.

Linhagem

O Unity Catalog registra sozinho de quais tabelas e colunas cada tabela foi derivada, a partir das consultas que rodam no Databricks. Antes de mudar uma coluna da silver, a linhagem mostra quais tabelas gold e quais painéis dependem dela.

  • Tabelas gerenciadas (o Unity Catalog cuida dos arquivos) ganham recursos como otimização preditiva; externas apontam para um caminho que você controla.
  • Volumes guardam arquivos (CSV, imagens, modelos) com a mesma governança das tabelas.

Fontes

Conhecimento compartilhado pela Genesis Innovation.