Criar um metastore Unity Catalog

Este artigo mostra como criar um metastore Unity Catalog e vinculá-lo ao workspace.

Importante

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

Um metastore é o contêiner de nível superior para dados no Unity Catalog. Unity Catalog armazena metadados de registro sobre objetos protegidos (como tabelas, volumes, locais externos e compartilhamentos) e as permissões que controlam 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 workspace anexado a um metastore em sua região.

Para criar um metastore, faça o seguinte:

  1. Na sua account da AWS, opcionalmente, crie um local de armazenamento para armazenamento em nível de metastore para gerenciar tabelas e volumes.

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

  2. Na sua account AWS, crie uma IAM role que dê acesso a esse local de armazenamento.

  3. No Databricks, crie o metastore, anexando o local de armazenamento e atribua workspace ao metastore.

Observação

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 permitir que o Unity Catalog acesse o metastore, use databricks_metastore_data_access. Para vincular workspace 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 gerenciamento de armazenamento. Consulte O que é Unity Catalog?.

Você também deve confirmar se atende aos seguintes requisitos para todos os passos de configuração:

  • Você deve ser um administrador account do Databricks.

  • Sua account Databricks deve estar no plano Premium ou acima.

  • Se quiser configurar o armazenamento raiz no nível do metastore, você deverá ter a capacidade de criar buckets S3, IAM role, políticas IAM e relações de confiança entreaccount em sua account AWS.

o passo 1 (opcional): Crie um bucket S3 para gerenciamento de armazenamento em nível de metastore na AWS

Nesta etapa, que é opcional, você cria o bucket S3 exigido pelo Unity Catalog para armazenar dados de gerenciamento de tabela e volume no nível do metastore. Você cria o bucket S3 em sua própria account AWS. Para determinar se você precisa de armazenamento no nível do metastore, consulte (Opcional) Criar armazenamento no nível do metastore.

  1. Na AWS, crie um bucket S3.

    Esse bucket S3 será o local de armazenamento em nível de metastore para gerenciar tabelas e gerenciar volumes em Unity Catalog. Esse local de armazenamento pode ser substituído nos níveis do catálogo e do esquema. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog

    Requisitos:

    • Se você tiver mais de um metastore, deverá usar um bucket S3 dedicado para cada um.

    • Localize o bucket na mesma região do workspace do qual você deseja acessar os dados.

    • O nome do depósito não pode conter notação de ponto (por exemplo, incorrect.bucket.name.notation). Para obter mais orientações sobre nomenclatura de buckets, consulte as regras de nomenclatura de buckets da AWS.

  2. Anote o caminho do bucket S3, que começa com s3://.

  3. Se você habilitar a criptografia KMS no bucket S3, anote o nome da key de criptografia KMS .

o passo 2 (Opcional): Crie uma IAM role para acessar o local de armazenamento

Nesta etapa, que só é necessária se o usuário tiver concluído a etapa 1, o usuário cria o IAM role exigido pelo Unity Catalog para acessar o bucket S3 que foi criado na etapa anterior. Siga estas instruções em Criar uma credencial de armazenamento para se conectar ao AWS S3:

o passo 3: Crie o metastore e anexe um espaço de trabalho

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

O senhor cria um metastore para cada região em que sua organização opera. O senhor pode vincular cada um desses metastores regionais a qualquer número de espaços de trabalho nessa região. Cada workspace vinculado tem o mesmo view dos dados no metastore, e o controle de acesso aos dados pode ser gerenciado em todo o espaço de trabalho. O senhor pode acessar dados em outros metastores usando o Delta Sharing.

Se você optar por criar armazenamento em nível de metastore, o metastore usará o bucket S3 e IAM role que você criou nas etapas anteriores.

Para criar um metastore:

  1. Entre no console da contado Databricks.

  2. Clique em Ícone de catálogo Catalog.

  3. Clique em Create metastore (Criar metastore).

  4. Digite o seguinte:

    • Um nome para o metastore.

    • A região onde você deseja implantar o metastore.

      Isso deve estar na mesma região que os espaços de trabalho que você deseja usar para acessar os dados. É importante que isso corresponda à região do depósito de armazenamento que você criou anteriormente.

    • (Opcional) O caminho do bucket S3 (o senhor pode omitir s3://) e o nome IAM role para o bucket e a função que criou nas etapas anteriores.

  5. Clique em Criar.

  6. Quando solicitado, selecione workspace para vincular ao metastore.

    Para obter detalhes, consulte Habilitar um workspace para o Unity Catalog.

  7. 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. A Databricks recomenda que você reatribua a função de administrador do metastore a um grupo. Consulte Atribuir um administrador de metastore.

  8. Habilite o gerenciamento do Databricks de upload para gerenciar volumes.

    Databricks usa CORS (cross-origin recurso compartilhamento) para upload dados para gerenciar volumes em Unity Catalog. Consulte Configurar o armazenamento Unity Catalog account para CORS.