Configurar e gerenciar Unity Catalog
Este artigo explica como configurar e usar o Unity Catalog para gerenciar dados em seu workspace do Databricks. Destina-se principalmente a administradores workspace que estão usando o Unity Catalog pela primeira vez.
Ao final deste artigo você terá:
Um workspace habilitado para o Unity Catalog.
compute que tem acesso ao Unity Catalog.
Usuários com permissão para acessar e criar objetos no Unity Catalog.
Você também pode revisar outros artigos introdutórios:
Para obter um passo a passo rápido sobre como criar uma tabela e conceder permissões em Unity Catalog, consulte tutorial: Create your first table and grant privileges.
Para key conceitos do Unity Catalog e uma introdução sobre como o Unity Catalog funciona, consulte O que é o Unity Catalog?.
Para saber como usar melhor o Unity Catalog para atender às suas necessidades de governança de dados, consulte Práticas recomendadas do Unity Catalog.
Observação
Se o senhor quiser fazer upgrade de um non-Unity-Catalog existente workspace para Unity Catalog, poderá se beneficiar do uso do UCX, um projeto do Databricks Labs que fornece um conjunto de fluxo de trabalho e utilidades para fazer upgrade de identidades, permissões e tabelas para Unity Catalog. Consulte Use as utilidades do UCX para atualizar seu workspace para Unity Catalog.
Visão geral da ativação do Unity Catalog
Para usar Unity Catalog, seu workspace do Databricks deve estar habilitado para Unity Catalog, o que significa que o workspace está anexado a um metastore Unity Catalog , o contêiner de nível superior para metadados Unity Catalog .
A maneira como os administradores configuram o Unity Catalog depende se o workspace foi habilitado automaticamente para o Unity Catalog ou requer ativação manual.
Ativação automática do Unity Catalog
O Databricks começou a habilitar o novo workspace para o Unity Catalog automaticamente em 8 de novembro de 2023, com uma implementação gradual em todas account. workspace que foram ativados automaticamente têm as seguintes propriedades:
Um metastore de provisionamento automático Unity Catalog (a menos que já exista um metastore Unity Catalog para a região workspace e o metastore esteja habilitado para atribuição automática workspace ).
privilégios default para administradores de espaço de trabalho, como a capacidade de criar um catálogo ou uma conexão de banco de dados externa.
Nenhum administrador de metastore (a menos que um metastore existente do Unity Catalog tenha sido usado e um administrador de metastore já tenha sido atribuído).
Nenhum armazenamento em nível de metastore para gerenciar tabelas e gerenciar volumes (a menos que um metastore existente do Unity Catalog com armazenamento em nível de metastore tenha sido usado).
Um catálogoworkspace , que, quando provisionado originalmente, recebe o nome do seu workspace.
Todos os usuários no seu workspace podem criar ativo no esquema
default
deste catálogo. Por default, esse catálogo está vinculado à sua workspace, o que significa que ele só pode ser acessado por meio da sua workspace. O provisionamento automático do catálogo workspace na criação workspace está sendo implementado gradualmente em todas account.Seu workspace obtém o catálogo workspace somente se o criador do workspace tiver fornecido um IAM role e um local de armazenamento apropriados durante o workspace provisionamento. Se o senhor não tiver esse catálogo, poderá criar um catálogo semelhante seguindo as instruções em Criar catálogos.
Essas configurações default funcionarão bem para a maioria dos workspaces, mas todas podem ser modificadas por um administrador do workspace ou administrador account . Por exemplo, um administrador account pode atribuir um administrador de metastore e criar armazenamento ao nível da metastore, e um administrador workspace pode modificar o nome e o acesso ao catálogo workspace .
E se meu espaço de trabalho não tiver sido habilitado automaticamente para o Unity Catalog?
Se o seu workspace não tiver sido ativado automaticamente para Unity Catalog , um administrador account ou administrador de metastore deverá anexar manualmente o workspace a um metastore Unity Catalog na mesma região. Se não existir nenhum metastore Unity Catalog na região, um administrador account deverá criar um. Para obter instruções, consulte Criar um metastore Unity Catalog .
Como posso saber se meu espaço de trabalho foi habilitado para o Unity Catalog?
Para confirmar se o seu workspace está habilitado para Unity Catalog, peça a um administrador workspace ou administrador account do Databricks para verificar para você. Veja também o passo 1: Confirme se seu espaço de trabalho está habilitado para o Unity Catalog.
Como posso saber se meu espaço de trabalho inclui um catálogo de espaço de trabalho?
Alguns novos workspace possuem um catálogoworkspace , que, quando originalmente provisionado, recebe o nome do seu workspace. Para determinar se seu workspace tem um, clique em Catálogo na barra lateral para abrir o Catalog Explorer e procure um catálogo que use o nome do seu workspace como nome do catálogo.
Observação
O catálogo workspace é como qualquer outro catálogo no Unity Catalog: um administrador workspace pode alterar seu nome, alterar sua propriedade ou até mesmo excluí-lo. No entanto, imediatamente após a criação do workspace , ele leva o nome do workspace
Antes de começar
Antes de iniciar a tarefa descrita neste artigo, você deve se familiarizar com os conceitos básicos do Unity Catalog, incluindo metastores, funções administrativas e gerenciamento de armazenamento. Consulte O que é Unity Catalog?.
Você também deve confirmar se atende aos seguintes requisitos:
Um workspace Databricks no plano Premium ou acima.
As seguintes funções e privilégios, que dependem do status do seu workspace:
administrador workspace : se o seu workspace foi ativado automaticamente para o Unity Catalog quando foi criado, você deverá ser um administrador workspace para concluir a tarefa necessária.
administrador account : se o seu workspace ainda não estiver habilitado para o Unity Catalog, um administrador account deverá anexar o workspace ao metastore.
Se não houver metastore Unity Catalog na mesma região que o workspace, um administrador account também deverá criar o metastore Unity Catalog .
Instruções para determinar se existe um metastore para a região do seu workspace , juntamente com instruções para criar um metastore, seguem nestes artigos.
Consulte Privilégios de administrador no Unity Catalog e Ativação automática do Unity Catalog.
o passo 1: Confirme se seu espaço de trabalho está habilitado para o Unity Catalog
Nesta etapa, você determina se seu workspace já está habilitado para Unity Catalog, onde a ativação é definida como ter um metastore Unity Catalog anexado ao workspace. Se o seu workspace não estiver habilitado para o Unity Catalog, você deverá habilitá workspace lo manualmente para o Unity Catalog. Consulte os próximos passos se o seu workspace não estiver habilitado para o Unity Catalog.
Para confirmar, siga um destes procedimentos.
Use o console da conta para confirmar a ativação do Unity Catalog
Como administrador account do Databricks, logs no console account .
Clique Espaços de trabalho.
Encontre seu workspace e verifique a coluna Metastore . Se um nome de metastore estiver presente, seu workspace será anexado a um metastore Unity Catalog e, portanto, habilitado para Unity Catalog.
execução de uma consulta SQL para confirmar a ativação do Unity Catalog
Execute a seguinte consulta SQL no editor de consultas SQL ou em um Notebook anexado a um cluster que use o modo de acesso compartilhado ou de usuário único. Consulte Modos de acesso. Nenhuma função de administrador é necessária.
SELECT CURRENT_METASTORE();
Se a consulta retornar um ID de metastore como o seguinte, seu workspace será anexado a um metastore Unity Catalog e, portanto, habilitado para Unity Catalog.
Próximos passos se o seu espaço de trabalho não estiver habilitado para o Unity Catalog
Se o seu workspace não estiver habilitado para Unity Catalog (anexado a um metastore), o próximo passo depende se você já tem ou não um metastore Unity Catalog definido para a região do seu workspace :
Se sua account já tiver um metastore Unity Catalog definido para sua região workspace , você poderá simplesmente anexar seu workspace ao metastore existente. Vá para Habilitar seu espaço de trabalho para o Unity Catalog.
Se não houver um metastore Unity Catalog definido para a região do seu workspace, você deverá criar um metastore e, em seguida, anexar o workspace. Vá para Criar um metastore Unity Catalog .
Quando seu workspace estiver habilitado para o Unity Catalog, vá para a próxima etapa.
o passo 2: Adicionar usuários e atribuir a função de administrador do espaço de trabalho
O usuário que cria o workspace é adicionado automaticamente como um usuário workspace com a função de administrador workspace (ou seja, um usuário no grupo admins
workspace-local). Como administrador do espaço de trabalho, você pode adicionar e convidar usuários para o espaço de trabalho, atribuir a função de administrador do espaço de trabalho a outros usuários e criar entidades de serviço e grupos.
os administradores account também podem adicionar usuários, entidades de serviço e grupos ao seu espaço de trabalho. Eles podem conceder funções de administrador account e administrador do metastore.
Para obter detalhes, consulte gerenciar usuários.
(Recomendado) Sincronize as identidades no nível da conta do seu IdP
Pode ser conveniente gerenciar o acesso do usuário ao Databricks configurando o provisionamento de um provedor de identidade (IdP) de terceiros, como o Okta. Para obter instruções completas, consulte Sincronizar usuários e grupos do seu provedor de identidade.
o passo 3: Crie clusters ou SQL warehouse que os usuários possam usar para executar query e criar objetos
Para executar cargas de trabalho do Unity Catalog, o recurso compute deve atender a determinados requisitos de segurança. O recurso compute não compatível não pode acessar dados ou outros objetos no Unity Catalog. SQL warehouse sempre atende aos requisitos Unity Catalog , mas alguns modos de acesso clusters não. Consulte Modos de acesso.
Como administrador do workspace, o senhor pode optar por tornar a criação do compute restrita aos administradores ou permitir que os usuários criem seus próprios armazéns SQL e clusters. Também é possível criar políticas de cluster que permitam aos usuários criar seus próprios clusters, usando especificações compatíveis com o Unity Catalog que o senhor impõe. Consulte compute permissions (Permissões ) e Create and gerenciar compute policies (Criar e gerenciar políticas).
o passo 4: Conceder privilégios aos usuários
Para criar objetos e acessá-los em catálogos e esquemas do Unity Catalog, um usuário deve ter permissão para fazer isso. Esta seção descreve os privilégios de usuário e administrador concedidos em alguns workspace por default e descreve como conceder privilégios adicionais.
Privilégios de usuário padrão
Alguns workspace têm privilégios de usuário default (não administrador) na inicialização:
Se seu espaço de trabalho for iniciado com um catálogo de espaço de trabalho de provisionamento automático, todos os usuários do espaço de trabalho poderão criar objetos no esquema
default
do catálogo de espaço de trabalho.Para saber como determinar se o seu workspace tem um catálogo workspace, consulte Como sei se o meu workspace inclui um catálogo workspace?
Se o seu workspace foi habilitado para Unity Catalog manualmente, ele terá um provisionamento de catálogo
main
automaticamente.os usuários workspace têm o privilégio
USE CATALOG
no catálogomain
, o que não concede a capacidade de criar ou selecionar qualquer objeto no catálogo, mas é um pré-requisito para trabalhar com qualquer objeto no catálogo. O usuário que criou o metastore possui o catálogomain
por default e pode transferir a propriedade e conceder acesso a outros usuários.Se o armazenamento do metastore for adicionado após a criação do metastore, nenhum catálogo
main
será provisionado.
Outros workspace não têm catálogos criados por default e nenhum privilégio de usuário não administrador habilitado por default. Um administrador workspace deve criar o primeiro catálogo e conceder aos usuários acesso a ele e aos objetos nele contidos. Vá para a etapa 5: Crie novos catálogos e esquemas antes de concluir as etapas desta seção.
Privilégios de administrador padrão
Alguns workspace têm default workspace privilégios de administrador na inicialização:
Se o seu workspace foi habilitado para o Unity Catalog automaticamente:
Os administradores do workspace podem criar novos catálogos e objetos em novos catálogos e conceder acesso a eles.
Não há administrador de metastore por default.
os administradores workspace são proprietários do catálogo workspace (se houver) e podem conceder acesso a esse catálogo e a quaisquer objetos nele.
Se o seu workspace foi habilitado manualmente para o Unity Catalog:
Os administradores do espaço de trabalho não têm privilégios especiais do Unity Catalog por default.
Os administradores do metastore devem existir e podem criar qualquer objeto Unity Catalog e podem apropriar-se de qualquer objeto Unity Catalog .
Para obter uma lista de privilégios de objeto adicionais concedidos aos administradores do espaço de trabalho em espaços de trabalho do Unity Catalog habilitados automaticamente, consulte Privilégios de administrador do espaço de trabalho quando os espaços de trabalho são habilitados automaticamente para o Unity Catalog.
Conceder privilégios
Para acesso a objetos diferentes dos listados nas seções anteriores, um usuário privilegiado deve conceder esse acesso.
Por exemplo, para conceder a um grupo a capacidade de criar novos esquemas em my-catalog
, o proprietário do catálogo pode executar o seguinte no Editor SQL ou em um Notebook:
GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;
Se o seu workspace tiver sido habilitado automaticamente para Unity Catalog , o administrador workspace será proprietário do catálogo workspace e poderá conceder a capacidade de criar novos esquemas:
GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;
Você também pode conceder e revogar privilégios usando o Catalog Explorer.
Importante
Você não pode conceder privilégios aos grupos workspace-local users
ou admins
. Para conceder privilégios a grupos, eles devem ser grupos no nível account .
Para obter detalhes sobre o gerenciamento de privilégios no Unity Catalog, consulte gerenciar privilégios no Unity Catalog.
o passo 5: Crie novos catálogos e esquemas
Para começar a usar o Unity Catalog, você deve ter pelo menos um catálogo definido. Os catálogos são a unidade principal de isolamento e organização de dados no Unity Catalog. Todos os esquemas e tabelas residem em catálogos, assim como volumes, view e modelos.
Alguns workspace não possuem catálogo de provisionamento automático. Para usar Unity Catalog, um administrador workspace deve criar o primeiro catálogo para esse workspace.
Outros workspace têm acesso a um catálogo de pré-provisionamento que seus usuários podem acessar para começar (seja o catálogo workspace ou o catálogo main
, dependendo de como seu workspace foi habilitado para Unity Catalog). À medida que você adiciona mais dados e IA ativa ao Databricks, você pode criar catálogos adicionais para agrupar esses ativos de uma forma que facilite o controle lógico dos dados.
Para obter recomendações sobre a melhor forma de usar catálogos e esquemas para organizar seus dados e IA ativa, consulte Práticas recomendadasUnity Catalog .
Como administrador do metastore, administrador workspace (apenas workspace habilitado automaticamente) ou outro usuário com o privilégio CREATE CATALOG
, você pode criar novos catálogos no metastore. Ao fazer isso, você deve:
Crie o gerenciamento de armazenamento para o novo catálogo.
Gerenciar armazenamento é um local de armazenamento dedicado em sua account da AWS para gerenciar tabelas e volumes. Você pode atribuir gerenciamento de armazenamento ao metastore, aos catálogos e aos esquemas. Quando um usuário cria uma tabela, os dados são armazenados no local de armazenamento mais baixo na hierarquia. Por exemplo, se um local de armazenamento for definido para o metastore e o catálogo, mas não para o esquema, os dados serão armazenados no local definido para o catálogo.
Databricks recomenda que o senhor atribua armazenamento gerenciado no nível do catálogo, pois os catálogos normalmente representam unidades lógicas de isolamento de dados. Se o senhor se sentir confortável com os dados de vários catálogos compartilhando o mesmo local de armazenamento, poderá acessar default para o local de armazenamento no nível do metastore. Se o seu workspace foi ativado para Unity Catalog automaticamente, não há armazenamento em nível de metastore pelo default. Um administrador do account tem a opção de configurar o armazenamento em nível de metastore. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog e Adicionar armazenamento gerenciar a um metastore existente.
Atribuir gerenciamento de armazenamento a um catálogo requer que você crie:
Uma credencial de armazenamento.
Um local externo que faz referência a essa credencial de armazenamento.
Para obter uma introdução a esses objetos e instruções para criá-los, consulte Conectar-se ao serviço e armazenamento de objetos cloud usando Unity Catalog.
Vincule o novo catálogo ao seu workspace se quiser limitar o acesso de outros workspaces que compartilham o mesmo metastore.
Consulte Limitar o acesso do catálogo a um espaço de trabalho específico.
Conceda privilégios no catálogo.
Para obter instruções detalhadas, consulte Criar catálogos.
Exemplo de criação de catálogo
O exemplo a seguir mostra a criação de um catálogo com gerenciamento de armazenamento, seguido da concessão do privilégio SELECT
no catálogo:
CREATE CATALOG IF NOT EXISTS mycatalog
MANAGED LOCATION 's3://depts/finance';
GRANT SELECT ON mycatalog TO `finance-team`;
Para obter mais exemplos, incluindo instruções para criar catálogos usando o Catalog Explorer, consulte Criar catálogos.
Crie um esquema
Os esquemas representam agrupamentos mais granulares (como departamentos ou projetos, por exemplo) do que os catálogos. Todas as tabelas e outros objetos Unity Catalog no catálogo estão contidos em esquemas. Como proprietário de um novo catálogo, talvez você queira criar os esquemas no catálogo. Mas talvez você queira delegar a capacidade de criar esquemas a outros usuários, concedendo-lhes o privilégio CREATE SCHEMA
no catálogo.
Para obter instruções detalhadas, consulte Criar esquemas.
(Opcional) Atribua a função de administrador do metastore
Se o seu workspace foi ativado automaticamente para Unity Catalog , nenhuma função de administrador do metastore será atribuída por default. Os administradores do metastore têm alguns privilégios que os administradores workspace não têm.
Talvez você queira atribuir um administrador do metastore se precisar:
Alterar a propriedade dos catálogos depois que alguém sair da empresa.
Gerenciar e delegar permissões no init script e na lista de permissões do jar.
Delegue a capacidade de criar catálogos e outras permissões de nível superior a administradores que não sejamworkspace .
Receba dados compartilhados por meio do Delta Sharing.
Use salas limpas.
Remova as permissões de administrador do espaço de trabalhodefault .
Adicionar armazenamento gerenciar ao metastore, se ele não tiver nenhum. Consulte Adicionar armazenamento gerenciar a um metastore existente.
Para obter informações detalhadas sobre a função de administrador do metastore e instruções para atribuí-la, consulte Atribuir um administrador do metastore.
Atualize as tabelas em seu site Hive metastore para tabelas Unity Catalog
Se o seu workspace estava em serviço antes de ser habilitado para Unity Catalog, ele provavelmente tem um Hive metastore que contém dados que o senhor deseja continuar a usar. Databricks recomenda que o senhor migre as tabelas gerenciadas pelo Hive metastore para o metastore Unity Catalog.
Consulte Upgrade Hive tables and view to Unity Catalog e Use the UCX utilidades to upgrade your workspace to Unity Catalog.
(Opcional) Continue trabalhando com seu Hive metastore
Se o seu workspace tiver um Hive metastore que contenha dados que o senhor deseja continuar a usar e o senhor optar por não seguir a recomendação de atualizar as tabelas gerenciadas pelo Hive metastore para o Unity Catalog metastore, poderá continuar a trabalhar com os dados do Hive metastore juntamente com os dados do Unity Catalog metastore.
O Hive metastore é representado nas interfaces do Unity Catalog como um catálogo denominado hive_metastore
. Para continuar trabalhando com os dados em Hive metastore sem precisar atualizar as consultas para especificar o hive_metastore
catálogo , o senhor pode definir o workspace default catálogo de para hive_metastore
. Consulte gerenciar o catálogo default .
Dependendo de quando seu workspace foi ativado para Unity Catalog, o catálogo default já pode ser hive_metastore
.
(Opcional) Criar armazenamento em nível de metastore
Embora o site Databricks recomende a criação de um local de armazenamento gerenciar separado para cada catálogo no metastore (e o mesmo pode ser feito para os esquemas), o usuário pode optar por criar um local gerenciar no nível do metastore e usá-lo como armazenamento para vários catálogos e esquemas.
Se desejar armazenamento no nível do metastore, você também deverá atribuir um administrador do metastore. Consulte (Opcional) Atribuir a função de administrador do metastore.
O armazenamento no nível do metastore será necessário somente se o seguinte for verdadeiro:
O senhor deseja compartilhar o Notebook usando o Databricks-to-Databricks Delta Sharing.
Você usa uma integração de produto Databricks parceiros que depende de locais de preparo pessoais (descontinuados).
Para mais informações sobre a hierarquia de gerenciamento de locais de armazenamento, consulte Os dados são fisicamente separados no armazenamento.
Para saber como adicionar armazenamento em nível de metastore a metastores que não têm nenhum, consulte Adicionar armazenamento gerenciar a um metastore existente.
Observação
A maioria dos workspace habilitados para Unity Catalog antes de 8 de novembro de 2023 tem uma raiz de armazenamento no nível do metastore.
Próximos passos
execução a quick tutorial para criar sua primeira tabela em Unity Catalog: tutorial: Criar sua primeira tabela e conceder privilégios
Saiba mais sobre Unity Catalog: O que é Unity Catalog?
Aprenda as práticas recomendadas para usar o Unity Catalog: Práticas recomendadas do Unity Catalog
Aprenda como conceder e revogar privilégios: gerenciar privilégios no Unity Catalog
Saiba como atualizar as tabelas do Hive para o Unity Catalog
Instalar a CLI da Databricks: O que é a CLI da Databricks?