curso
Catálogo do Databricks Unity: Um guia para iniciantes
Então você acabou de ouvir falar do Databricks Unity Catalog. E agora você está se perguntando do que se trata e como ele desempenha um papel no gerenciamento de dados moderno.
Este guia abrangente apresentará a você o Databricks Unity Catalog e o ajudará a entender sua importância na análise de dados na pilha de dados moderna.
O que é o Databricks Unity Catalog?
O Databricks Unity Catalog é um serviço unificado de governança de dados que simplifica e agiliza o gerenciamento de dados para cargas de trabalho de análise. Ele reúne todos os diferentes tipos de metadados usados por várias ferramentas de business intelligence, bancos de dados, data warehousese lagos de dados em um único local central. Isso incentiva a interoperabilidade entre sistemas, facilitando a localização e o acesso a dados estruturados e não estruturados.
À medida que as organizações expandem suas operações de dados, o gerenciamento do acesso, da governança e da conformidade em várias plataformas de dados torna-se complexo. O Unity Catalog aborda esse desafio fornecendo uma camada unificada para metadados, controle de acesso e rastreamento de linhagem, reduzindo a sobrecarga operacional.
Essa abordagem centralizada de governança de dados traz alguns benefícios no compartilhamento de produtos de dados comuns, como
- Modelos de aprendizado de máquina
- Cadernos
- Painéis
- Arquivos
Os principais componentes do Databricks Unity Catalog incluem:
- Metastore: Uma camada de armazenamento para metadados que simplifica a descoberta de dados e melhora a linhagem de dados.
- Catálogo: Um repositório central para armazenar, gerenciar e descobrir ativos de dados.
- Esquema: Um modelo de dados usado para organizar e gerenciar ativos de dados no Databricks Unity Catalog.
- Granularidade: O nível de detalhe disponível no rastreamento de metadados. Ele permite que as equipes gerenciem o acesso em vários níveis (catálogo, esquema, tabela ou até mesmo coluna), garantindo um controle refinado sobre os ativos de dados".
- Tabelas, visualizações e volumes: Esses são os objetos de dados fundamentais no Databricks Unity Catalog usados para representar dados estruturados e não estruturados.
- Linhagem de dados: Uma representação visual do fluxo de dados desde a origem até o destino, ajudando a rastrear alterações e a garantir a integridade dos dados.
Esses componentes trabalham juntos para oferecer uma solução abrangente de governança de dados que simplifica o gerenciamento de dados e promove a colaboração entre as equipes.
Benefícios do Unity Catalog
Há vários benefícios importantes no uso do Databricks Unity Catalog, conforme descrito abaixo:
1. Governança e conformidade de dados
O Databricks Unity Catalog oferece um local centralizado para armazenar e gerenciar metadados, garantindo que você tenha governança de dados. governança de dados e a conformidade dos dados em diferentes sistemas.
Por exemplo, o Unity Catalog fornece alertas para detecção potencial de PII em modelos de aprendizado de máquina em produção. A linhagem de dados permite que esses modelos sejam revertidos facilmente.
Isso ajuda as organizações a manter a integridade dos dados, cumprir as normas e reduzir os riscos.
2. Colaboração e análise de autoatendimento
O Unity Catalog incentiva a colaboração entre as equipes ao fornecer um local central para o armazenamento de ativos de dados. Isso elimina silos e estimula a comunicação multifuncional, promovendo análises de autoatendimento.
Os analistas de dados e usuários corporativos podem descobrir e acessar facilmente ativos de dados relevantes, reduzindo o tempo gasto em tarefas de preparação de dados.
Principais casos de uso do Unity Catalog
Há várias maneiras de implementar o Unity Catalog:
1. Controle e segurança de acesso aos dados
O Databricks Unity Catalog permite que as organizações implementem um controle de acesso refinado para ativos de dados, garantindo que os dados sejam acessíveis apenas a usuários autorizados. Ele também permite o compartilhamento seguro de dados confidenciais entre as equipes.
2. Descoberta e linhagem de dados
O gerenciamento de metadados do gerenciamento de metadados do Unity Catalog permitem a descoberta eficiente de dados e fornecem uma representação visual do fluxo de dados desde a origem até o destino. Isso ajuda a rastrear as alterações nos conjuntos de dados, permitindo a auditoria e a solução de problemas.
3. Simplificar a conformidade e as auditorias
Com um repositório centralizado para todos os ativos de dados e sua linhagem, o Unity Catalog simplifica os processos de relatório e auditoria de conformidade. Isso reduz o tempo e o esforço necessários para garantir a conformidade regulamentar.
Como habilitar o Unity Catalog no Databricks
Agora, vamos dar uma olhada no Unity Catalog usando este tutorial de configuração simples:
Pré-requisitos
Antes de ativar e usar o Unity Catalog, verifique se você atende aos seguintes requisitos:
Plano premium ou empresarial da Databricks
O Unity Catalog só é compatível com as camadas Databricks Premium ou Enterprise. Certifique-se de que seu espaço de trabalho do Databricks esteja em um desses planos.
Permissões apropriadas
- Administrador de contas: Você deve ter a função de administrador da conta no Databricks para configurar e gerenciar o Unity Catalog no nível da conta.
- Administrador do espaço de trabalho: Você deve ser um administrador do espaço de trabalho no espaço de trabalho em que deseja ativar o Unity Catalog.
Disponibilidade do metastore
O Unity Catalog requer um metastore no nível da conta. Se você não tiver criado um, precisará fazê-lo durante a configuração. Para uma conta de avaliação da Databricks, você terá um catálogo com metastore já criado para você.
Plataformas de nuvem compatíveis
Atualmente, o Unity Catalog é compatível com você:
- AWS
- Azure
- GCP
Certifique-se de que você esteja usando um ambiente Databricks compatível em uma dessas nuvens.
Armazenamento gerenciado ou locais externos
Decida se você aproveitará as tabelas gerenciadas (armazenamento gerenciado) ou se criará tabelas externas referenciando dados em um local externo (como S3, ADLS ou GCS). Cada abordagem pode ter requisitos de permissão diferentes.
Ativação do Unity Catalog: Guia passo a passo
Navegando pelas configurações do Databricks
- Faça login no console da conta do Databricks
- Vá para o Console da conta da Databricks (A URL pode variar ligeiramente para AWS, Azure ou GCP). Use um usuário administrador de conta para fazer login.
- Acesse a página do catálogo
- No painel de navegação esquerdo (no console da conta), procure por Catálogo dependendo da versão do Databricks que você possui.
- Em uma versão de avaliação do Databricks, um metastore e um catálogo do Serverless Starter Warehouse deveriam ter sido criados.
- Iniciar a computação do armazém SQL
- No painel de navegação à esquerda, selecione SQL Warehousese, em seguida, inicie o Serverless Starter Warehouse clicando no botão Reproduzir à direita.
- Atribuir a espaços de trabalho
- Sob Espaços de trabalho na configuração do Catálogo, anexe o(s) espaço(s) de trabalho que deve(m) usar esse catálogo.
Configuração do Unity Catalog
- Atribuir permissões
- Como administrador, navegue até Catálogo na barra lateral esquerda do espaço de trabalho do Databricks.
- Selecione o espaço de trabalho que você deseja gerenciar.
- Clique na guiaPermissions (Permissões )para configurar as permissões (por exemplo, quem pode criar catálogos, esquemas e tabelas). Por padrão, o administrador da conta ou o administrador do espaço de trabalho pode ter privilégios totais, mas você pode delegar privilégios a outros usuários ou grupos.
- Criar catálogos e esquemas (se necessário)
- Você pode criar catálogos e esquemas adicionais para diferentes equipes, projetos ou domínios de dados. Isso geralmente é feito por meio de comandos SQL (mostrados abaixo).
-- Creates a new catalog named "demo_catalog"
CREATE CATALOG IF NOT EXISTS demo_catalog
COMMENT 'This catalog is created for Unity Catalog demo';
- Configurar locais externos (opcional)Se você precisar de tabelas externas armazenadas em locais externos:
- Crie um local externo no Unity Catalog apontando para seu armazenamento em nuvem (S3, ADLS ou GCS).
- Conceda aos usuários ou grupos acesso para ler e gravar nesses locais por meio do Unity Catalog.
Código de amostra e uso
Abaixo estão alguns exemplos de notebooks do Databricks e comandos SQL que você pode usar quando o Unity Catalog estiver configurado em seu espaço de trabalho.
Você pode executá-los em um notebook do Databricks ou no SQL Editor em seu espaço de trabalho.
Concessão de privilégios em um catálogo
A concessão de privilégios em um catálogo garante que grupos de usuários específicos possam acessar e interagir com os dados armazenados nele. No entanto, o site USAGE
por si só não permite que os usuários consultem os dados - ele simplesmente permite que eles vejam que o catálogo existe. Para permitir a interação total, você precisa conceder privilégios adicionais no nível do esquema ou da tabela.
Por exemplo, para permitir que os engenheiros de dados acessem um catálogo:
-- Grant USAGE to a specific group on the newly created catalog
GRANT USAGE ON CATALOG demo_catalog TO data_engineers_group;
Se você também precisar criar esquemas dentro desse catálogo:
GRANT CREATE ON CATALOG demo_catalog TO data_engineers_group;
Criação de um esquema (banco de dados) no catálogo
Um esquema no Unity Catalog organiza tabelas e exibições em um catálogo, de forma semelhante a como um banco de dados mantém tabelas em sistemas RDBMS tradicionais. O uso do site IF NOT EXISTS
evita erros se o esquema já existir.
Para criar um esquema para dados de análise em demo_catalog
:
CREATE SCHEMA IF NOT EXISTS demo_catalog.analytics
COMMENT 'Schema for analytics data';
Após a criação, talvez você precise conceder privilégios a usuários específicos:
GRANT USAGE ON SCHEMA demo_catalog.analytics TO data_analysts_group;
Isso permite que o grupo data_analysts_group veja o esquema, mas ainda não consulte suas tabelas.
Criação de uma tabela gerenciada
As tabelas gerenciadas são totalmente controladas pelo Unity Catalog, o que significa que a Databricks lida com o armazenamento e o rastreamento de metadados. Isso simplifica o gerenciamento, mas significa que os dados serão excluídos se a tabela for descartada.
Para criar uma tabela gerenciada para dados de vendas:
USE CATALOG demo_catalog;
USE SCHEMA analytics;
CREATE TABLE IF NOT EXISTS sales_data (
transaction_id STRING,
product_id STRING,
quantity INT,
price DECIMAL(10,2),
transaction_date DATE
)
COMMENT 'Managed table for sales data';
Concessão de privilégios em uma tabela
A concessão de privilégios de tabela garante que os usuários possam consultar ou modificar dados. O privilégio SELECT
permite que os usuários leiam os dados, mas não os modifiquem.
Para permitir que os cientistas de dados leiam a tabela de vendas:
GRANT SELECT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
Se eles precisarem inserir novos registros, conceda INSERT
:
GRANT INSERT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
Para obter controle total (leitura, gravação, modificação), use:
GRANT ALL PRIVILEGES ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
Configuração de local externo
Se você tiver um local de dados externo (por exemplo, S3 no AWS), poderá criar um objeto de local externo no Unity Catalog:
-- Create an external location named "demo_external_location"
CREATE EXTERNAL LOCATION demo_external_location
URL 's3://my-demo-bucket/my-path/'
WITH CREDENTIAL my_storage_credential
COMMENT 'External location for demo data';
-- Grant read and write privileges to a group
GRANT READ, WRITE ON EXTERNAL LOCATION demo_external_location
TO data_engineers_group;
Arquitetura do catálogo do Databricks Unity
O Databricks Unity Catalog foi desenvolvido com base no projeto de código aberto Apache Sparkque fornece uma plataforma de computação distribuída para processamento de dados em grande escala. Ele usa o Hive Metastore para armazenar metadados sobre conjuntos de dados e tabelas, permitindo o gerenciamento eficiente e o desempenho das consultas.
A arquitetura do Unity Catalog inclui três componentes principais:
- Armazenamento de metadados: Esse componente armazena todos os metadados relacionados a conjuntos de dados, tabelas, locais externos e outros objetos.
- Catálogo: Esse componente atua como uma interface entre o armazenamento de metadados e a camada de computação. Ele fornece uma visão unificada de todos os metadados armazenados no Metadata Store, facilitando o acesso e a consulta dos dados pelos usuários.
- Espaços de trabalho: Os espaços de trabalho são locais de armazenamento virtual onde os dados podem ser armazenados e gerenciados com segurança. Eles permitem a fácil colaboração entre as equipes, fornecendo um local central para acesso e manipulação de dados.
Fonte: Databricks
Com o Databricks Unity Catalog, os usuários podem gerenciar e consultar facilmente seus dados sem ter que se preocupar com a infraestrutura subjacente. Eles também podem colaborar com outros membros da equipe, concedendo-lhes permissões específicas, como privilégios de leitura e gravação, para diferentes conjuntos de dados ou tabelas.
Para conceder essas permissões, os usuários podem usar comandos SQL como "GRANT" para especificar quais usuários ou grupos podem acessar determinados dados. Isso garante que somente pessoas autorizadas tenham acesso a informações confidenciais.
Como o Unity Catalog se integra aos sistemas de dados existentes
O Unity Catalog se integra perfeitamente aos sistemas de dados existentes, como Amazon S3 e Azure Blob Storagefacilitando o acesso e o gerenciamento de dados de diferentes fontes. Isso permite que os usuários analisem rapidamente grandes conjuntos de dados sem precisar mover ou copiar manualmente os dados para o Databricks.
O Unity Catalog também oferece suporte a vários formatos de arquivo, como CSV, JSON, Parquet e Avro, permitindo flexibilidade no trabalho com diferentes tipos de dados.
Práticas recomendadas do Databricks Unity Catalog
Ao trabalhar com o Unity Catalog, existem algumas práticas recomendadas que podem ajudar a garantir um gerenciamento de dados eficiente e eficaz.
Isso inclui:
- Use convenções de nomenclatura descritivas para tabelas e colunas para facilitar a compreensão dos dados.
- Atualize regularmente os metadados no Unity Catalog para acompanhar todas as alterações feitas nos dados subjacentes.
- Utilize controles de acesso para restringir o acesso a dados confidenciais, seguindo o princípio do "privilégio mínimo". Isso significa conceder apenas as permissões necessárias aos usuários ou grupos com base em suas funções e responsabilidades.
- Use tags e rótulos para classificar e organizar conjuntos de dados no Unity Catalog, facilitando a pesquisa de dados específicos.
Essas medidas ajudarão a garantir a governança eficaz dos dados e o desempenho ideal.
Desafios comuns e como lidar com eles
O Unity Catalog não é uma solução infalível e pode enfrentar alguns desafios no gerenciamento eficaz de dados.
Alguns problemas comuns incluem:
- Duplicação de dados: Isso ocorre quando os mesmos dados são armazenados várias vezes, o que leva a inconsistências e erros.
- Qualidade dos dados: Dados mal mantidos ou imprecisos podem afetar as decisões e os processos de negócios.
- Hierarquias de dados complexas: Grandes conjuntos de dados com relacionamentos complexos podem ser difíceis de organizar e gerenciar no Unity Catalog.
Para enfrentar esses desafios, aqui estão algumas dicas:
- Revisar e limpar regularmente os dados para evitar duplicação. Isso inclui a remoção de dados desnecessários ou desatualizados.
- Implementar verificações e validações de qualidade de dados para garantir a precisão dos dados no Unity Catalog.
Considerações finais
O Unity Catalog é uma ferramenta poderosa para gerenciar dados em uma única visualização por meio do uso de metastores, catálogos e espaços de trabalho. Ele fornece um local centralizado para armazenar e organizar dados, facilitando o gerenciamento e a utilização em seus processos de negócios.
Você quer saber mais sobre a Databricks? Você deve dar uma olhada em nossa Introdução à Databricks para você, Tutorial Databricks e o webinar sobre Databricks.
Perguntas frequentes sobre o Databricks Unity Catalog
Qual é a diferença entre o Unity Catalog e o Hive Metastore Databricks?
O Unity Catalog é um serviço de metadados unificado que oferece uma alternativa mais eficiente e dimensionável ao tradicional Hive Metastore no Databricks. Ele fornece uma única fonte de verdade para todas as suas necessidades de metadados e permite gerenciamento e acesso mais fáceis.
Posso usar o Unity Catalog com fontes de dados que não sejam da Databricks?
Sim, o Unity Catalog oferece suporte a tabelas externas e gerenciadas pelo Databricks, permitindo que você integre facilmente metadados de várias fontes em um único local. No entanto, pode haver algumas limitações.
Como o Unity Catalog melhora o desempenho?
Ao fornecer um armazenamento de metadados centralizado, o Unity Catalog elimina a necessidade de consultas frequentes a sistemas externos, resultando em tempos de execução de consultas mais rápidos.

Sou Austin, blogueiro e escritor de tecnologia com anos de experiência como cientista de dados e analista de dados na área de saúde. Iniciando minha jornada tecnológica com formação em biologia, agora ajudo outras pessoas a fazer a mesma transição por meio do meu blog de tecnologia. Minha paixão por tecnologia me levou a contribuir por escrito para dezenas de empresas de SaaS, inspirando outras pessoas e compartilhando minhas experiências.
Principais cursos da DataCamp
curso
Data Management in Databricks
curso
Data Visualization in Databricks
blog
O que é um banco de dados gráfico? Um guia para iniciantes
blog
Certificações da Databricks em 2024: O guia completo

Gus Frazer
24 min
tutorial
Tutorial do Power BI para iniciantes

DataCamp Team
16 min
tutorial
Tutorial do Pyspark: Primeiros passos com o Pyspark
tutorial
Tutorial de visão geral do banco de dados SQL

DataCamp Team
3 min
tutorial