Configurar e gerir o Catálogo Unity

Este artigo explica como configurar e usar o Unity Catalog para gerenciar dados em seu espaço de trabalho do Azure Databricks. Destina-se principalmente a administradores de espaço de trabalho que estão usando o Unity Catalog pela primeira vez.

No final deste artigo terá:

  • Um espaço de trabalho habilitado para o Unity Catalog.
  • Computação que tem acesso ao Catálogo Unity.
  • Usuários com permissão para acessar e criar objetos no Unity Catalog.

Você também pode querer rever outros artigos introdutórios:

Nota

Se quiser atualizar um espaço de trabalho existente que não seja do Unity-Catalog para o Unity Catalog, você pode se beneficiar do uso do UCX, um projeto do Databricks Labs que fornece um conjunto de fluxos de trabalho e utilitários para atualizar identidades, permissões e tabelas para o Unity Catalog. Consulte Usar os utilitários UCX para atualizar seu espaço de trabalho para o Catálogo Unity.

Visão geral da ativação do catálogo Unity

Para usar o Unity Catalog, seus espaços de trabalho do Azure Databricks devem ser habilitados para o Unity Catalog, o que significa que os espaços de trabalho estão anexados a um metastore do Unity Catalog, o contêiner de nível superior para metadados do Unity Catalog.

A maneira como os administradores configuram o Unity Catalog depende se o espaço de trabalho foi ativado automaticamente para o Unity Catalog ou requer ativação manual.

Ativação automática do Unity Catalog

O Databricks começou a habilitar novos espaços de trabalho para o Unity Catalog automaticamente em 9 de novembro de 2023, com um lançamento prosseguindo gradualmente em todas as contas. Os espaços de trabalho habilitados automaticamente têm as seguintes propriedades:

  • Um metastore do Unity Catalog provisionado automaticamente (a menos que já existisse um metastore do Unity Catalog para a região do espaço de trabalho).

  • Privilégios padrão para administradores de espaço de trabalho, como a capacidade de criar um catálogo ou uma conexão de banco de dados externo.

  • 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 no nível de metastore para tabelas gerenciadas e volumes gerenciados (a menos que um metastore existente do Unity Catalog com armazenamento no nível de metastore tenha sido usado).

  • Um catálogo de espaço de trabalho, que, quando originalmente provisionado, recebe o nome do seu espaço de trabalho.

    Todos os usuários em seu espaço de trabalho podem criar ativos no default esquema deste catálogo. Por padrão, esse catálogo está vinculado ao seu espaço de trabalho, o que significa que ele só pode ser acessado por meio do seu espaço de trabalho. O provisionamento automático do catálogo de espaços de trabalho na criação do espaço de trabalho está sendo implementado gradualmente em todas as contas.

Essas configurações padrão funcionarão bem para a maioria dos espaços de trabalho, mas todas podem ser modificadas por um administrador de espaço de trabalho ou administrador de conta. Por exemplo, um administrador de conta pode atribuir um administrador de metastore e criar armazenamento no nível de metastore, e um administrador de espaço de trabalho pode modificar o nome e o acesso ao catálogo do espaço de trabalho.

E se meu espaço de trabalho não estiver habilitado para o Unity Catalog automaticamente?

Se a sua área de trabalho não tiver sido ativada automaticamente para o Catálogo do Unity, um administrador de conta ou um administrador de metastore deve anexar manualmente a área de trabalho a um metastore do Catálogo do Unity na mesma região. Se não existir nenhum metastore do Catálogo do Unity na região, um administrador de conta deverá criar um. Para obter instruções, consulte Criar um metastore do Catálogo do Unity.

Como sei se meu espaço de trabalho foi habilitado para o Catálogo Unity?

Para confirmar se seu espaço de trabalho está habilitado para o Catálogo Unity, peça a um administrador de espaço de trabalho do Azure Databricks ou administrador de conta para verificar por você. Consulte também Etapa 1: Confirme se seu espaço de trabalho está habilitado para o Catálogo Unity.

Como posso saber se o meu espaço de trabalho inclui um catálogo de espaços de trabalho?

Alguns novos espaços de trabalho têm um catálogo de espaços de trabalho que, quando originalmente provisionado, tem o nome do seu espaço de trabalho. Para determinar se o espaço de trabalho tem um, clique em Ícone do catálogoCatálogo na barra lateral para abrir o Gerenciador de Catálogos e procure um catálogo que use o nome do espaço de trabalho como o nome do catálogo.

Nota

O catálogo de espaço de trabalho é como qualquer outro catálogo no Unity Catalog: um administrador de espaço de trabalho pode alterar seu nome, alterar sua propriedade ou até mesmo excluí-lo. No entanto, imediatamente após a criação do espaço de trabalho, ele tem o nome do espaço de trabalho

Antes de começar

Antes de começar as tarefas descritas neste artigo, você deve se familiarizar com os conceitos básicos do Catálogo Unity, incluindo metastores, funções de administrador e armazenamento gerenciado. Veja O que é o Unity Catalog?.

Você também deve confirmar que atende aos seguintes requisitos:

  • Um espaço de trabalho do Azure Databricks no plano Premium.

  • As seguintes funções e privilégios, que dependem do status do seu espaço de trabalho:

    • Administrador do espaço de trabalho: se o espaço de trabalho foi habilitado para o Unity Catalog automaticamente quando foi criado, você deve ser um administrador do espaço de trabalho para concluir as tarefas necessárias.

    • Administrador da conta: se o espaço de trabalho ainda não estiver habilitado para o Catálogo Unity, um administrador de conta deverá anexar o espaço de trabalho ao metastore.

      Se não houver nenhum metastore do Unity Catalog na mesma região do espaço de trabalho, um administrador de conta também deverá criar o metastore do Unity Catalog.

      Instruções para determinar se existe um metastore para sua região de espaço de trabalho, juntamente com instruções para criar um metastore, siga neste artigo.

    Consulte Privilégios de administrador no Catálogo Unity e Ativação automática do catálogo Unity.

Etapa 1: Confirme se seu espaço de trabalho está habilitado para o Unity Catalog

Nesta etapa, você determina se seu espaço de trabalho já está habilitado para o Unity Catalog, onde a habilitação é definida como ter um metastore do Unity Catalog anexado ao espaço de trabalho. Se seu espaço de trabalho não estiver habilitado para o Unity Catalog, você deverá habilitá-lo manualmente para o Unity Catalog. Consulte Próximas etapas se seu espaço de trabalho não estiver habilitado para o Catálogo Unity.

Para confirmar, siga um destes procedimentos.

Use o console da conta para confirmar a ativação do Catálogo Unity

  1. Como administrador de conta do Azure Databricks, faça logon no console da conta.
  2. Clique em Ícone Espaços de trabalhoEspaços de trabalho.
  3. Encontre seu espaço de trabalho e verifique a coluna Metastore . Se um nome de metastore estiver presente, seu espaço de trabalho será anexado a um metastore do Unity Catalog e, portanto, habilitado para o Unity Catalog.

Executar uma consulta SQL para confirmar a ativação do Catálogo Unity

Execute a seguinte consulta SQL no editor de consultas SQL ou em um bloco de anotações anexado a um cluster que usa 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 espaço de trabalho será anexado a um metastore do Unity Catalog e, portanto, habilitado para o Unity Catalog.

Saída atual do metastore

Próximas etapas se seu espaço de trabalho não estiver habilitado para o Unity Catalog

Se seu espaço de trabalho não estiver habilitado para o Catálogo Unity (anexado a um metastore), a próxima etapa dependerá se você já tem ou não um metastore do Unity Catalog definido para sua região de espaço de trabalho:

  • Se sua conta já tiver um metastore do Unity Catalog definido para sua região de espaço de trabalho, basta anexar seu espaço de trabalho ao metastore existente. Vá para Ativar seu espaço de trabalho para o Unity Catalog.
  • Se não houver nenhum metastore do Unity Catalog definido para a região do seu espaço de trabalho, você deverá criar um metastore e, em seguida, anexar o espaço de trabalho. Vá para Criar um metastore do Catálogo Unity.

Quando seu espaço de trabalho estiver habilitado para o Catálogo Unity, vá para a próxima etapa.

Etapa 2: adicionar usuários e atribuir a função de administrador do espaço de trabalho

O usuário que cria o espaço de trabalho é adicionado automaticamente como um usuário de espaço de trabalho com a função de administrador do espaço de trabalho (ou seja, um usuário no grupo local do admins espaço de trabalho). Como administrador de espaço de trabalho, você pode adicionar e convidar usuários para o espaço de trabalho, pode atribuir a função de administrador do espaço de trabalho a outros usuários e pode criar entidades de serviço e grupos.

Os administradores de conta também têm a capacidade de adicionar usuários, entidades de serviço e grupos ao seu espaço de trabalho. Eles podem conceder as funções de administrador da conta e administrador do metastore.

Para obter detalhes, consulte Gerenciar usuários.

Pode ser conveniente gerenciar o acesso do usuário ao Azure Databricks configurando o provisionamento a partir do Microsoft Entra ID (anteriormente Azure Ative Directory). Para obter instruções completas, consulte Sincronizar usuários e grupos do Microsoft Entra ID.

Etapa 3: Criar clusters ou SQL warehouses que os usuários podem usar para executar consultas e criar objetos

Para executar cargas de trabalho do Unity Catalog, os recursos de computação devem estar em conformidade com determinados requisitos de segurança. Recursos de computação não compatíveis não podem acessar dados ou outros objetos no Unity Catalog. Os armazéns SQL sempre estão em conformidade com os requisitos do Catálogo Unity, mas alguns modos de acesso ao cluster não. Consulte Modos de acesso.

Como administrador de espaço de trabalho, você pode optar por tornar a criação de computação restrita a administradores ou permitir que os usuários criem seus próprios armazéns e clusters SQL. Você também pode criar políticas de cluster que permitem que os usuários criem seus próprios clusters, usando especificações compatíveis com o Unity Catalog que você impõe. Consulte Permissões de computação e Criar e gerenciar políticas de computação.

Etapa 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 fazê-lo. Esta seção descreve os privilégios de usuário e administrador concedidos em alguns espaços de trabalho por padrão e descreve como conceder privilégios adicionais.

Privilégios de usuário padrão

Alguns espaços de trabalho têm privilégios de usuário padrão (não administrador) na inicialização:

  • Se o espaço de trabalho for iniciado com um catálogo de espaço de trabalho provisionado automaticamente, todos os usuários do espaço de trabalho poderão criar objetos no esquema do catálogo do default espaço de trabalho.

    Para saber como determinar se seu espaço de trabalho tem um catálogo de espaço de trabalho, consulte Como saber se meu espaço de trabalho inclui um catálogo de espaço de trabalho?.

  • Se seu espaço de trabalho foi habilitado para o Unity Catalog manualmente, ele tem um main catálogo provisionado automaticamente.

    Os usuários do espaço de trabalho têm o USE CATALOGmain privilégio no catálogo, que não concede a capacidade de criar ou selecionar a partir de quaisquer objetos no catálogo, mas é um pré-requisito para trabalhar com quaisquer objetos no catálogo. O usuário que criou o metastore é proprietário do catálogo por padrão e pode transferir a main propriedade e conceder acesso a outros usuários.

    Se o armazenamento do metastore for adicionado após a criação do metastore, nenhum main catálogo será provisionado.

Outros espaços de trabalho não têm catálogos criados por padrão e nenhum privilégio de usuário não administrador habilitado por padrão. Um administrador de espaço de trabalho deve criar o primeiro catálogo e conceder aos usuários acesso a ele e aos objetos nele. Vá para a Etapa 5: Criar novos catálogos e esquemas antes de concluir as etapas nesta seção.

Privilégios de administrador padrão

Alguns espaços de trabalho têm privilégios de administrador de espaço de trabalho padrão na inicialização:

  • Se o seu espaço de trabalho foi ativado para o Unity Catalog automaticamente:
    • Os administradores do espaço de trabalho podem criar novos catálogos e objetos em novos catálogos e conceder acesso a eles.
    • Não há administrador de metastore por padrão.
    • Os administradores do espaço de trabalho são proprietários do catálogo do espaço de trabalho (se houver) e podem conceder acesso a esse catálogo e a quaisquer objetos nesse catálogo.
  • Se o seu espaço de trabalho foi ativado para o Unity Catalog manualmente:
    • Os administradores de espaço de trabalho não têm privilégios especiais do Catálogo Unity por padrão.
    • Os administradores do Metastore devem existir e podem criar qualquer objeto do Unity Catalog e podem assumir a propriedade de qualquer objeto do Unity Catalog.

Para obter uma lista de privilégios de objeto adicionais concedidos a administradores de espaço de trabalho em espaços de trabalho do Unity Catalog habilitados automaticamente, consulte Privilégios de administrador de espaço de trabalho quando os espaços de trabalho são habilitados para o Unity Catalog automaticamente.

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 no my-catalog, o proprietário do catálogo pode executar o seguinte no Editor SQL ou em um bloco de anotações:

GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;

Se o seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, o administrador do espaço de trabalho é o proprietário do catálogo do espaço de trabalho e pode 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 Gerenciador de Catálogos.

Importante

Não é possível conceder privilégios ao espaço de trabalho local users ou admins grupos. Para conceder privilégios em grupos, eles devem ser grupos no nível da conta.

Para obter detalhes sobre como gerenciar privilégios no Catálogo Unity, consulte Gerenciar privilégios no Catálogo Unity.

Etapa 5: Criar 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 principal unidade de isolamento e organização de dados no Unity Catalog. Todos os esquemas e tabelas vivem em catálogos, assim como volumes, exibições e modelos.

Alguns espaços de trabalho não têm catálogo provisionado automaticamente. Para usar o Unity Catalog, um administrador de espaço de trabalho deve criar o primeiro catálogo para esses espaços de trabalho.

Outros espaços de trabalho têm acesso a um catálogo pré-provisionado que seus usuários podem acessar para começar (o catálogo de espaços de trabalho ou o main catálogo, dependendo de como seu espaço de trabalho foi habilitado para o Unity Catalog). À medida que adiciona mais dados e ativos de IA ao Azure Databricks, pode criar catálogos adicionais para agrupar esses ativos de uma forma que facilite o controlo lógico dos dados.

Para obter recomendações sobre a melhor forma de usar catálogos e esquemas para organizar seus dados e ativos de IA, consulte Práticas recomendadas do Unity Catalog.

Como administrador de metastore, administrador de espaço de trabalho (somente espaços de trabalho habilitados automaticamente) ou outro usuário com privilégio CREATE CATALOG , você pode criar novos catálogos no metastore. Quando o fizer, deverá:

  1. Crie armazenamento gerenciado para o novo catálogo.

    O armazenamento gerenciado é um local de armazenamento dedicado em sua conta do Azure para tabelas gerenciadas e volumes gerenciados. Você pode atribuir armazenamento gerenciado ao metastore, a catálogos e a 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.

    O Databricks recomenda que você atribua armazenamento gerenciado no nível do catálogo, porque os catálogos normalmente representam unidades lógicas de isolamento de dados. Se você estiver confortável com dados em vários catálogos que compartilham o mesmo local de armazenamento, poderá usar como padrão o local de armazenamento no nível de metastore. Se seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, não há armazenamento no nível de metastore por padrão. Um administrador de conta tem a opção de configurar o armazenamento no nível de metastore. Consulte Armazenamento gerenciado e Adicionar armazenamento gerenciado a um metastore existente.

    A atribuição de armazenamento gerenciado 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 armazenamento de objetos na nuvem usando o Unity Catalog.

  2. Associe o novo catálogo ao seu espaço de trabalho se quiser limitar o acesso de outros espaços de trabalho que compartilham o mesmo metastore.

    Consulte Vincular um catálogo a um ou mais espaços de trabalho.

  3. Conceda privilégios no catálogo.

Para obter instruções detalhadas, consulte Criar e gerenciar catálogos.

Exemplo de criação de catálogo

O exemplo a seguir mostra a criação de um catálogo com armazenamento gerenciado, seguido pela concessão do SELECT privilégio no catálogo:

CREATE CATALOG IF NOT EXISTS mycatalog
  MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';

GRANT SELECT ON mycatalog TO `finance-team`;

Para obter mais exemplos, incluindo instruções para criar catálogos usando o Gerenciador de Catálogos, consulte Criar e gerenciar catálogos.

Criar 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 do Unity Catalog no catálogo estão contidos em esquemas. Como proprietário de um novo catálogo, convém criar os esquemas no catálogo. Mas, em vez disso, você pode delegar a capacidade de criar esquemas a outros usuários, dando-lhes o CREATE SCHEMA privilégio no catálogo.

Para obter instruções detalhadas, consulte Criar e gerenciar esquemas (bancos de dados).

(Opcional) Atribuir a função de administrador do metastore

Se seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, nenhuma função de administrador de metastore será atribuída por padrão. Os administradores da Metastore têm alguns privilégios que os administradores do espaço de trabalho não têm.

Talvez você queira atribuir um administrador de metastore se precisar:

Para obter informações detalhadas sobre a função de administrador de metastore e instruções para atribuí-la, consulte Atribuir um administrador de metastore.

Atualize tabelas em seu metastore do Hive para tabelas do Catálogo Unity

Se seu espaço de trabalho estava em serviço antes de ser habilitado para o Unity Catalog, ele provavelmente tem um metastore do Hive que contém dados que você deseja continuar a usar. O Databricks recomenda que você migre as tabelas gerenciadas pelo metastore do Hive para o metastore do Unity Catalog.

Consulte Atualizar tabelas e exibições do Hive para o Unity Catalog e Usar os utilitários UCX para atualizar seu espaço de trabalho para o Unity Catalog.

(Opcional) Continue trabalhando com seu metastore do Hive

Se seu espaço de trabalho tiver um metastore do Hive que contenha dados que você deseja continuar a usar e optar por não seguir a recomendação de atualizar as tabelas gerenciadas pelo metastore do Hive para o metastore do Unity Catalog, você poderá continuar a trabalhar com dados no metastore do Hive ao lado dos dados no metastore do Unity Catalog.

O metastore do Hive é representado nas interfaces do Unity Catalog como um catálogo chamado hive_metastore. Para continuar trabalhando com dados em seu metastore do Hive sem precisar atualizar consultas para especificar o hive_metastore catálogo, você pode definir o catálogo padrão do espaço de trabalho como hive_metastore. Consulte Gerenciar o catálogo padrão.

Dependendo de quando seu espaço de trabalho foi habilitado para o Unity Catalog, o catálogo padrão já pode ser hive_metastore.

(Opcional) Criar armazenamento no nível de metastore

Embora o Databricks recomende que você crie um local de armazenamento gerenciado separado para cada catálogo em seu metastore (e você pode fazer o mesmo para esquemas), você pode optar por criar um local gerenciado no nível do metastore e usá-lo como o armazenamento padrão para vários catálogos e esquemas.

Se quiser armazenamento no nível de metastore, você também deve atribuir um administrador de metastore. Consulte (Opcional) Atribuir a função de administrador do metastore.

O armazenamento no nível de metastore é necessário somente se as seguintes condições forem verdadeiras:

  • Você deseja compartilhar blocos de anotações usando o Databricks-to-Databricks Delta Sharing.
  • Você usa uma integração de produto de parceiro Databricks que depende de locais de preparo pessoais (preterido).

Para obter mais informações sobre a hierarquia de locais de armazenamento gerenciados, consulte Os dados estão fisicamente separados no armazenamento.

Para saber como adicionar armazenamento no nível de metastore a metastores que não têm nenhum, consulte Adicionar armazenamento gerenciado a um metastore existente.

Nota

A maioria dos espaços de trabalho habilitados para o Unity Catalog antes de 9 de novembro de 2023 tem uma raiz de armazenamento no nível de metastore.

Próximos passos