Criar um metastore do Catálogo do Unity

Este artigo mostra como criar um metastore do Unity Catalog e vinculá-lo a espaços de trabalho.

Importante

Para espaços de trabalho que foram habilitados para o Unity Catalog automaticamente, as instruções neste artigo são desnecessárias. 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. Você deve seguir as instruções neste artigo somente se tiver um espaço de trabalho e ainda não tiver um metastore na região do espaço de trabalho. Para determinar se já existe um metastore na sua região, consulte Ativação automática do catálogo Unity.

Um metastore é o contêiner de nível superior para dados no Unity Catalog. Os metastores do Unity Catalog registram metadados sobre objetos protegíveis (como tabelas, volumes, locais externos e compartilhamentos) e as permissões que regem o acesso a eles. Cada metastore expõe um namespace de três níveis (catalog.schema.table) pelo qual os dados podem ser organizados. Você deve ter um metastore para cada região em que sua organização opera. Para trabalhar com o Unity Catalog, os usuários devem estar em um espaço de trabalho anexado a um metastore em sua região.

Para criar um metastore, faça o seguinte:

  1. Em sua conta do Azure, opcionalmente, crie um local de armazenamento para armazenamento no nível de metastore de tabelas e volumes gerenciados.

    Para obter informações que o ajudem a decidir se precisa de armazenamento no nível do metastore, consulte (Opcional) Criar armazenamento no nível do metastore e Os dados estão fisicamente separados no armazenamento.

  2. Na sua conta do Azure, crie uma identidade gerenciada do Azure ou uma entidade de serviço que dê acesso a esse local de armazenamento.

  3. No Azure Databricks, crie o metastore, anexando o local de armazenamento e atribua espaços de trabalho ao metastore.

Nota

Além das abordagens descritas neste artigo, você também pode criar um metastore usando o provedor Databricks Terraform, especificamente o recurso databricks_metastore . Para habilitar o Unity Catalog para acessar o metastore, use databricks_metastore_data_access. Para vincular espaços de trabalho a um metastore, use databricks_metastore_assignment.

Antes de começar

Antes de começar, você deve se familiarizar com os conceitos básicos do Catálogo Unity, incluindo metastores e armazenamento gerenciado. Veja O que é o Unity Catalog?.

Você também deve confirmar se atende aos seguintes requisitos para todas as etapas de configuração:

  • Você deve ser um administrador de conta do Azure Databricks.

    O primeiro administrador de conta do Azure Databricks tem de ser um Administrador Global do Microsoft Entra ID no momento em que inicia sessão pela primeira vez na consola da conta do Azure Databricks. Após o primeiro login, esse usuário se torna um administrador de conta do Azure Databricks e não precisa mais da função de Administrador Global do Microsoft Entra ID para acessar a conta do Azure Databricks. O primeiro administrador de conta pode atribuir usuários no locatário do Microsoft Entra ID como administradores de conta adicionais (que podem atribuir mais administradores de conta). Os administradores de conta adicionais não exigem funções específicas no Microsoft Entra ID.

  • Os espaços de trabalho anexados ao metastore devem estar no plano Premium do Azure Databricks.

  • Se quiser configurar o armazenamento raiz no nível de metastore, você deve ter permissão para criar o seguinte em seu locatário do Azure:

Etapa 1 (opcional): Criar um contêiner de armazenamento para armazenamento gerenciado no nível de metastore

Nesta etapa, que é opcional, você cria uma conta de armazenamento e um contêiner para armazenar dados gerenciados de tabela e volume no nível do metastore. Para determinar se você precisa de armazenamento no nível do metastore, consulte (Opcional) Criar armazenamento no nível do metastore.

  1. Crie uma conta de armazenamento para o Azure Data Lake Storage Gen2.

    Essa conta de armazenamento conterá tabelas e volumes gerenciados pelo Unity Catalog. Essa deve ser uma conta do Azure Data Lake Storage Gen2 na mesma região que seus espaços de trabalho do Azure Databricks. Consulte Criar uma conta de armazenamento para usar com o Azure Data Lake Storage Gen2.

  2. Crie um contêiner de armazenamento que armazenará suas tabelas gerenciadas e dados de volume no nível do metastore.

    Você pode criar apenas um metastore por região. Você deve usar a mesma região para seu metastore e contêiner de armazenamento.

    Esse local de armazenamento no nível de metastore pode ser substituído nos níveis de catálogo e esquema. Consulte Especificar um local de armazenamento gerenciado no Catálogo Unity.

    Anote o URI do ADLSv2 para o contêiner, que está no seguinte formato:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    Nas etapas a seguir, substitua <storage-container> por este URI.

Etapa 2 (opcional): Criar uma identidade gerenciada para acessar o local de armazenamento gerenciado

Nesta etapa, que é necessária somente se você concluiu a etapa 1, você cria um conector de acesso do Azure Databricks que contém uma identidade gerenciada e lhe dá acesso ao contêiner de armazenamento.

Siga as instruções em Usar identidades gerenciadas do Azure no Catálogo Unity para acessar o armazenamento.

Nota

Você pode usar uma identidade gerenciada do Azure ou uma entidade de serviço como a identidade que dá acesso ao contêiner de armazenamento do metastore. O Databricks recomenda fortemente identidades gerenciadas, porque elas não exigem que você mantenha credenciais ou gire segredos, e permitem que você se conecte a uma conta do Azure Data Lake Storage Gen2 protegida por um firewall de armazenamento. Se você quiser usar uma entidade de serviço, consulte Criar armazenamento gerenciado do Unity Catalog usando uma entidade de serviço (legado).

Etapa 3: Criar o metastore e anexar um espaço de trabalho

Cada região do Azure Databricks requer seu próprio metastore do Unity Catalog.

Você cria um metastore para cada região em que sua organização opera. Você pode vincular cada um desses metastores regionais a qualquer número de espaços de trabalho nessa região. Cada espaço de trabalho vinculado tem a mesma exibição dos dados no metastore e o controle de acesso a dados pode ser gerenciado entre espaços de trabalho. Você pode acessar dados em outros metastores usando o Delta Sharing.

Se você optar por criar armazenamento no nível de metastore, o metastore usará o contêiner de armazenamento e a identidade gerenciada do Azure que você criou nas etapas anteriores.

Para criar um metastore:

  1. Se você optar por criar armazenamento no nível de metastore, verifique se você tem o caminho para o contêiner de armazenamento e a ID do recurso do conector de acesso do Azure Databricks que você criou na tarefa anterior.

  2. Inicie sessão na sua área de trabalho como administrador de conta.

  3. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Gerir Conta.

  4. Faça logon no console de conta do Azure Databricks.

  5. Clique em Ícone do catálogo Catálogo.

  6. Clique em Criar metastore.

  7. Introduza o seguinte:

    • Nome do metastore.

    • Região onde o metastore será implantado.

      Isso deve estar na mesma região dos espaços de trabalho que você deseja usar para acessar os dados. Se você optar por criar um contêiner de armazenamento para armazenamento no nível de metastore, essa região também deverá ser a mesma.

    • (Opcional) Caminho do ADLS Gen 2: insira o caminho para o contêiner de armazenamento que você usará como armazenamento raiz para o metastore.

      O abfss:// prefixo é adicionado automaticamente.

    • (Opcional) ID do Conector de Acesso: insira a ID de recurso do conector de acesso do Azure Databricks no formato:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Clique em Criar.

  9. Quando solicitado, selecione espaços de trabalho para vincular ao metastore.

    Para obter detalhes, consulte Habilitar um espaço de trabalho para o Unity Catalog.

  10. Transfira a função de administrador do metastore para um grupo.

    O usuário que cria um metastore é seu proprietário, também chamado de administrador do metastore. O administrador do metastore pode criar objetos de nível superior no metastore, como catálogos, e pode gerenciar o acesso a tabelas e outros objetos. O Databricks recomenda que você reatribua a função de administrador do metastore a um grupo. Consulte Atribuir um administrador de metastore.

  11. Habilite o gerenciamento do Azure Databricks de carregamentos para volumes gerenciados.

    O Azure Databricks usa o compartilhamento de recursos entre origens (CORS) para carregar dados em volumes gerenciados no Unity Catalog. Consulte Configurar a conta de armazenamento do Catálogo Unity para CORS.

Próximos passos