Configurar e gerenciar o Catálogo do Unity

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

Ao final deste artigo, você terá:

  • Um workspace que esteja habilitado para o Catálogo do Unity.
  • Computação que tem acesso ao Catálogo do Unity.
  • Usuários com permissão para acessar e criar objetos no Catálogo do Unity.

Talvez você também queira revisar outros artigos introdutórios:

Observação

Se você quiser atualizar um workspace não Unity-Catalog existente para o Catálogo do Unity, poderá 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 Catálogo do Unity. Consulte Usar os utilitários UCX para atualizar seu workspace para o Catálogo do Unity.

Visão geral da habilitação do Catálogo do Unity

Para usar o Catálogo do Unity, seus workspaces do Azure Databricks devem estar habilitados para o Catálogo do Unity, o que significa que os workspaces estarão anexados a um metastore do Catálogo do Unity, o contêiner de nível superior para metadados do Catálogo do Unity.

A maneira como os administradores configuram o Catálogo do Unity dependerá de o workspace ter sido habilitado automaticamente para o Catálogo do Unity ou requerer habilitação manual.

Habilitação automática do Catálogo do Unity

O Databricks começou a habilitar novos workspaces para o Catálogo do Unity automaticamente em 9 de novembro de 2023, com uma distribuição gradual entre contas. Os workspaces habilitados têm automaticamente as seguintes propriedades:

  • Um metastore do Catálogo do Unity provisionado automaticamente (a menos que já exista um metastore do Catálogo do Unity para a região do workspace e o metastore esteja habilitado para atribuição automática de workspace).

  • Privilégios padrão para administradores de workspace, 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 Catálogo do Unity tenha sido usado e um administrador de metastore já tenha sido atribuído).

  • Nenhum armazenamento no nível do metastore para tabelas gerenciadas e volumes gerenciados (a menos que um metastore existente do Catálogo do Unity com armazenamento no nível do metastore tenha sido usado).

  • Um catálogo do workspace, que, quando provisionado originalmente, tem o nome do workspace.

    Todos os usuários em seu workspace podem criar ativos no esquema default neste catálogo. Por padrão, esse catálogo é limitado ao workspace, o que significa que só poderá ser acessado por meio do workspace. O provisionamento automático do catálogo de workspaces na criação do workspace está sendo distribuído gradualmente entre contas.

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

E se meu workspace não tiver sido habilitado automaticamente para o Catálogo do Unity?

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

Como faço para saber se o meu workspace foi habilitado para o Catálogo do Unity?

Para confirmar se o workspace está habilitado para o Catálogo do Unity, peça a um administrador de workspace ou administrador de conta do Azure Databricks para verificar isso para você. Confira também Etapa 1: confirme se o workspace está habilitado para o Catálogo do Unity.

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

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

Observação

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

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 do Unity, incluindo metastores, funções de administrador e armazenamento gerenciado. Veja O que é o Catálogo do Unity?.

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

  • Seu workspace do Azure Databricks precisa estar no plano Premium.

  • As seguintes funções e privilégios, que dependem do status do workspace:

    • Administrador do workspace: se o workspace foi habilitado para o Catálogo do Unity automaticamente quando ele foi criado, você deve ser um administrador do workspace para concluir as tarefas necessárias.

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

      Se não houver nenhum metastore do Catálogo do Unity na mesma região que o workspace, um administrador de conta também deverá criar o metastore do Catálogo do Unity.

      As instruções para determinar se existe um metastore para a região do seu workspace, juntamente com as instruções para criar um metastore, seguem neste artigo.

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

Etapa 1: confirmar se o seu workspace está habilitado para o Catálogo do Unity

Nesta etapa, você determina se o workspace já está habilitado para o Catálogo do Unity, em que a habilitação é definida como tendo um metastore do Catálogo do Unity anexado ao workspace. Se o workspace não estiver habilitado para o Catálogo do Unity, você deverá habilitar o seu workspace para o Catálogo do Unity manualmente. Confira Próximas etapas se o workspace não estiver habilitado para o Catálogo do Unity.

Para confirmar, siga um dos procedimentos a seguir.

Usar o console da conta para confirmar a habilitação do Catálogo do Unity

  1. Como administrador de conta do Azure Databricks, entre no console da conta.
  2. Clique em Ícone de Workspaces Espaços de Trabalho.
  3. Localize o seu workspace e verifique a coluna Metastore. Se um nome de metastore estiver presente, o seu workspace se encontra anexado a um metastore do Catálogo do Unity e, portanto, está habilitado para o Catálogo do Unity.

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

Execute a consulta SQL a seguir no editor de consultas SQL ou em um notebook 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 uma ID de metastore como a seguinte, o workspace será anexado a um metastore do Catálogo do Unity e, portanto, habilitado para o Catálogo do Unity.

Saída do metastore atual

Próximas etapas se o workspace não estiver habilitado para o Catálogo do Unity

Se o workspace não estiver habilitado para o Catálogo do Unity (anexado a um metastore), a próxima etapa dependerá de você ter um metastore do Catálogo do Unity definido para sua região de workspace:

Quando o workspace estiver habilitado para o Catálogo do Unity, vá para a próxima etapa.

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

O usuário que cria o workspace é adicionado automaticamente como um usuário do workspace com a função de administrador do workspace (ou seja, um usuário no grupo local do workspace admins). Como administrador do workspace, você pode adicionar e convidar usuários para o workspace, pode atribuir a função de administrador do workspace 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 workspace. Eles podem conceder as funções de administrador de conta e administrador de metastore.

Para obter detalhes, consulte Gerenciar usuários.

Pode ser conveniente gerenciar o acesso do usuário ao Azure Databricks configurando o provisionamento do Microsoft Entra ID. Para obter instruções completas, confira 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 Catálogo do Unity, os recursos de computação devem estar em conformidade com determinados requisitos de segurança. Recursos de computação que não estejam em conformidade não podem acessar dados ou outros objetos no Catálogo do Unity. Os SQL warehouses sempre estão em conformidade com os requisitos do Catálogo do Unity, mas alguns modos de acesso de cluster não. Consulte Modos de acesso.

Como administrador do workspace, você pode optar por tornar a criação de computação restrita aos administradores ou permitir que os usuários criem seus próprios clusters e SQL warehouses. Você também pode criar políticas de cluster que permitem que os usuários criem seus próprios clusters, usando especificações em conformidade com o Catálogo do Unity impostas por você. Confira 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 Catálogo do Unity, 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 workspaces por padrão e descreve como conceder privilégios adicionais.

Privilégios de usuário padrão

Alguns workspaces têm privilégios de usuário padrão (não administrador) ao iniciar:

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

    Para saber como determinar se seu workspace tem um catálogo de workspaces, consulte Como saber se meu workspace inclui um catálogo de workspaces?.

  • Se o workspace tiver sido habilitado manualmente para o Catálogo do Unity, ele terá um catálogo main provisionado automaticamente.

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

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

Outros workspaces não têm catálogos criados por padrão e nenhum privilégio de usuário não de administrador habilitado por padrão. Um administrador de workspace 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 workspaces têm privilégios de administrador de workspace padrão ao iniciar:

  • Se o seu workspace tiver sido habilitado automaticamente para o Catálogo do Unity:
    • Os administradores do workspace podem criar novos catálogos e objetos em novos catálogos e conceder acesso a eles.
    • Não há nenhum administrador do metastore por padrão.
    • Os administradores do workspace possuem o catálogo de workspaces (se houver um) e podem conceder acesso a esse catálogo e a quaisquer objetos nesse catálogo.
  • Se o seu workspace tiver sido habilitado manualmente para o Catálogo do Unity:
    • Os administradores do workspace não têm privilégios especiais do Catálogo do Unity por padrão.
    • Os administradores do metastore devem existir e podem criar qualquer objeto do Catálogo do Unity e se apropriar de qualquer objeto do Catálogo do Unity.

Para obter uma lista de privilégios de objeto adicionais concedidos a administradores de workspaces em workspaces do Catálogo do Unity habilitados automaticamente, consulte Privilégios de administrador do workspace quando os workspaces estiverem habilitados automaticamente para o Catálogo do Unity.

Conceder privilégios

Para acesso a objetos diferentes daqueles 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 SQL Editor ou em um notebook:

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

Se o workspace tiver sido habilitado automaticamente para o Catálogo do Unity, o administrador do workspace será proprietário do catálogo do 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 Explorador de Catálogos.

Importante

Você não pode conceder privilégios aos grupos de users local do workspace ou grupos admins. Para conceder privilégios em grupos, eles devem ser grupos de nível de conta.

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

Etapa 5: criar novos catálogos e esquemas

Para começar a usar o Catálogo do Unity, você deve ter pelo menos um catálogo definido. Os catálogos são a unidade primária de isolamento de dados e organização no Catálogo do Unity. Todos os esquemas e tabelas residem em catálogos, assim como volumes, exibições e modelos.

Alguns workspaces não têm catálogo provisionado automaticamente. Para usar o Catálogo do Unity, um administrador de workspace deve criar o primeiro catálogo para esses workspaces.

Outros workspaces têm acesso a um catálogo pré-provisionado que os seus usuários podem acessar para começar (o catálogo do workspace ou o catálogo main, dependendo de como seu workspace foi habilitado para o Catálogo do Unity). À medida que você adiciona mais dados e ativos de IA ao Azure Databricks, poderá criar catálogos adicionais para agrupar esses ativos de uma maneira que facilite a governança lógica dos dados.

Para obter recomendações sobre a melhor maneira de usar catálogos e esquemas para organizar seus dados e ativos de IA, consulte Melhores práticas do Catálogo do Unity.

Como administrador de metastore, administrador de workspace (somente workspaces habilitados automaticamente) ou outro usuário com o privilégio CREATE CATALOG, você poderá criar novos catálogos no metastore. Ao fazer isso, você deverá:

  1. Criar 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 o armazenamento gerenciado 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.

    O Databricks recomenda que você atribua armazenamento gerenciado no nível do catálogo, pois os catálogos normalmente representam unidades lógicas de isolamento de dados. Se você se sentir confortável com os 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 do metastore. Se o workspace tiver sido habilitado automaticamente para o Catálogo do Unity, não haverá armazenamento no nível do metastore por padrão. Um administrador de conta tem a opção de configurar o armazenamento no nível do metastore. Consulte Especificar um local de armazenamento gerenciado no Catálogo do Unity e Adicionar armazenamento gerenciado a um metastore existente.

    Atribuir armazenamento gerenciado a um catálogo requer que você crie:

    • Uma credencial de armazenamento.
    • Um local externo que faça 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 e serviços na nuvem usando o Catálogo do Unity.

  2. Associe o novo catálogo ao seu workspace se você quiser limitar o acesso de outros workspaces que compartilham o mesmo metastore.

    Consulte Limitar acesso do catálogo a espaços de trabalho específicos.

  3. 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 armazenamento gerenciado, seguido pela concessão do privilégio SELECT 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, inclusive instruções para criar catálogos usando o Explorador de Catálogos, consulte Criar catálogos.

Criar um esquema

Os esquemas representam agrupamentos mais granulares (como departamentos ou projetos, por exemplo) do que catálogos. Todas as tabelas e outros objetos do Catálogo do Unity 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 talvez você queira delegar a capacidade de criar esquemas para outros usuários, dando a eles o privilégio CREATE SCHEMA no catálogo.

Para obter instruções detalhadas, consulte Criar esquemas.

(opcional) Atribuir a função de administrador de metastore

Se o workspace tiver sido habilitado automaticamente para o Catálogo do Unity, nenhuma função de administrador de metastore será atribuída por padrão. Os administradores de metastore têm alguns privilégios que os administradores do workspace 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.

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

Se o workspace estava em serviço antes de ser habilitado para o Catálogo do Unity, ele provavelmente tem um metastore do Hive que contém dados que serão interessantes para você usar. O Databricks recomenda que você migre as tabelas gerenciadas pelo metastore do Hive para o metastore do Catálogo do Unity.

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

(opcional) Continue trabalhando com o metastore do Hive

Se o workspace tiver um metastore do Hive que contenha dados que você deseja continuar a usar e optar por não seguir a recomendação para atualizar as tabelas gerenciadas pelo metastore do Hive para o metastore do Catálogo do Unity, você poderá continuar a trabalhar com dados no metastore do Hive junto com os dados no metastore do Catálogo do Unity.

O metastore do Hive é representado em interfaces do Catálogo do Unity como um catálogo chamado hive_metastore. Para continuar trabalhando com dados em seu metastore do Hive sem precisar atualizar consultas para especificar o catálogo de hive_metastore, você poderá definir o catálogo padrão do workspace como hive_metastore. Confira Gerenciar o catálogo padrão.

Dependendo de quando o workspace foi habilitado para o Catálogo do Unity, o catálogo padrão já poderá estar hive_metastore.

(Opcional) Criar armazenamento no nível do 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 armazenamento para vários catálogos e esquemas.

Se você quiser um armazenamento no nível do metastore, também deverá atribuir um administrador do metastore. Confira (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:

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

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

Observação

A maioria dos workspaces habilitados para o Catálogo do Unity antes de 9 de novembro de 2023 tem uma raiz de armazenamento no nível do metastore.

Próximas etapas