Compartilhar via


Criar um metastore do Catálogo do Unity

Este artigo mostra como criar um metastore no Catálogo do Unity e vinculá-lo a workspaces.

Importante

Para workspaces habilitados automaticamente para o Catálogo do Unity, as instruções neste artigo são desnecessárias. 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. Você deve seguir as instruções neste artigo somente se tiver um workspace e ainda não tiver um metastore em na região do seu workspace. Para determinar se já existe um metastore em sua região, confira Habilitação automática do Catálogo do Unity.

Um metastore é o contêiner de nível superior para dados no Unity Catalog. Os metastores do Catálogo do Unity 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 Catálogo do Unity, os usuários devem estar em um workspace anexado a um metastore em sua região.

Para criar um metastore, faça o seguinte:

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

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

  2. Em 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 workspaces ao metastore.

Observação

Além das abordagens descritas neste artigo, você também pode criar um metastore usando o provedor do Databricks Terraform, especificamente o recurso databricks_metastore. Para habilitar o Catálogo do Unity para acessar o metastore, use databricks_metastore_data_access. Para vincular workspaces 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 do Unity, incluindo metastores e armazenamento gerenciado. Veja O que é o Catálogo do Unity?.

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

  • Você precisa ser um administrador da conta do Azure Databricks.

    O primeiro administrador de conta do Azure Databricks deve ser um administrador global do Microsoft Entra ID no momento em que fizer logon no console da conta do Azure Databricks. Após o primeiro login, esse usuário se torna um administrador da 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 da conta pode atribuir usuários no locatário do Microsoft Entra ID como administradores de conta adicionais (que, por sua vez, podem atribuir mais administradores de conta). Os administradores de conta adicionais não requerem 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 você quiser configurar o armazenamento raiz no nível do metastore, deverá 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 do metastore

Nessa etapa opcional, você criará uma conta de armazenamento e um contêiner para armazenar dados de tabela e volume gerenciados no nível do metastore. Para determinar se você precisa de armazenamento no nível do metastore, confira (Opcional) Criar armazenamento no nível do metastore.

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

    Essa conta de armazenamento conterá volumes e tabelas gerenciadas do Catálogo do Unity. Deve ser uma conta do Azure Data Lake Storage Gen2 na mesma região que seus workspaces do Azure Databricks. Confira Criar uma conta de armazenamento para usar com o Azure Data Lake Storage Gen2.

  2. Crie um contêiner de armazenamento que manterá 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 o metastore e o contêiner de armazenamento.

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

    Anote o URI do ADLSv2 do 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 esse URI.

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

Nessa etapa, que é necessária somente se você concluiu a etapa 1, você criará 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 do Unity para acessar o armazenamento.

Observação

Você pode usar uma identidade gerenciada do Azure ou uma entidade de serviço como a identidade que fornece acesso ao contêiner de armazenamento do metastore. O Databricks recomenda fortemente identidades gerenciadas, pois 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, confira Criar armazenamento gerenciado do Catálogo do Unity usando uma entidade de serviço (herdada).

Etapa 3: criar o metastore e anexar um workspace

Cada região do Azure Databricks requer seu próprio metastore do Catálogo do Unity.

Você cri um metastore para cada região na qual sua organização opera. Você pode vincular cada um desses metastores regionais a qualquer número de workspaces nessa região. Cada workspace vinculado tem a mesma exibição dos dados no metastore, e o controle de acesso a dados pode ser gerenciado em vários workspaces. Você pode acessar dados em outros metastores usando o Compartilhamento Delta.

Se você optar por criar um armazenamento no nível do 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 o armazenamento no nível do 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. Faça logon em seu workspace como administrador da conta.

  3. Clique no nome de usuário na barra superior do workspace do Azure Databricks e selecione Gerenciar conta.

  4. Entre no console da conta do Azure Databricks.

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

  6. Clique em Criar metastore.

  7. Insira o seguinte:

    • Nome para o metastore.

    • Região em que o metastore será implantado.

      Eles devem estar na mesma região que os workspaces que você deseja usar para acessar os dados. Se você optar por criar um contêiner de armazenamento para armazenamento no nível do 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 prefixo abfss:// é 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 os workspaces a serem vinculados ao metastore.

    Para ver detalhes, confira Habilitar um workspace para o Catálogo do Unity.

  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. Confira Atribuir um administrador de metastore.

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

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

Próximas etapas