Criar um metastore Unity Catalog

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

Importante

Para o espaço de trabalho que foi ativado automaticamente para o Unity Catalog, as instruções deste artigo são desnecessárias. A Databricks começou a habilitar o novo espaço de trabalho para o Unity Catalog automaticamente em 6 de março de 2024, com uma implementação gradual em toda a conta. O senhor deve seguir as instruções deste artigo somente se tiver um workspace e ainda não tiver um metastore na sua região 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 do GCP, crie opcionalmente 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. No Databricks, crie o metastore. Databricks gera uma account de serviço.

  3. Conceda à account de serviço acesso ao bucket do GCS 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 do Databricks deve estar no plano Premium.

  • Se quiser configurar o armazenamento raiz no nível do metastore, você deverá ter permissão para criar buckets do GCS e atribuir permissões a esses buckets do GCS em sua do Google clouds account.

o passo 1 (opcional): Crie o bucket do GCS

Nesta etapa, que é opcional, você cria um bucket GCS para armazenar tabelas de gerenciamento e dados de 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. Configure um bucket do GCS nas clouds do Google.

    O bucket de armazenamento é onde os dados das tabelas gerenciais serão armazenados para esse metastore. Todas as tabelas gerenciadas serão armazenadas nesse bucket, a menos que o senhor substitua o local de armazenamento nos níveis do catálogo ou do esquema.

    Ao criar o intervalo:

    • Crie-o na mesma região do workspace que você usará para acessar os dados.

    • Use um bucket GCS dedicado para cada metastore criado.

    • Não permita o acesso direto do usuário ao bucket.

  2. Anote o caminho do bucket (gs://bucket-name).

o passo 2: Crie o metastore e, opcionalmente, gere uma conta de serviço

Para criar um metastore:

  1. Faça logon no console da conta do 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.

      Deve estar na mesma região que o workspace que você deseja usar para acessar os dados. Certifique-se de que corresponda à região do bucket do GCS que você criou anteriormente.

    • (Opcional) O caminho para o bucket do GCS criado na tarefa anterior.

  5. Clique em Criar.

    Se você forneceu um caminho para um bucket do GCS na etapa anterior, a caixa de diálogo Fornecer acesso ao armazenamento será exibida. Ele exibe o nome account de serviço gerado pelo sistema e solicita que você conceda a essa account de serviço duas IAM role para o bucket do GCS. Mantenha esta caixa de diálogo aberta ao prosseguir para a próxima tarefa. Esta tarefa será necessária apenas se você quiser ativar o armazenamento no nível do metastore.

    Se o senhor não tiver fornecido um caminho para um bucket GCS, será solicitado a atribuir o espaço de trabalho ao metastore. Consulte o passo 4: Atribuir espaço de trabalho ao metastore ou Habilitar um workspace para Unity Catalog.

o passo 3 (opcional): conceda à conta de serviço acesso ao seu bucket do GCS

Nesta etapa, que é necessária apenas se você tiver concluído a etapa 1, conceda à account de serviço gerada pelo sistema acesso ao seu bucket de armazenamento:

  1. Em outra tab ou janela do navegador, acesse o console clouds do Google e abra o bucket GCS que você forneceu na etapa anterior.

  2. Na Permissão tab, clique em + Conceder acesso e atribua à de serviço account as seguintes funções:

    • Leitor de bucket de armazenamento legado

    • Administrador de objetos de armazenamento

    Use o endereço da de serviço account email como identificador principal.

  3. Retorne à caixa de diálogo Fornecer acesso ao armazenamento no console account do Databricks e clique em Permissões concedidas.

    O Databricks valida se a account de serviço tem o acesso correto ao bucket.

  4. Quando a validação for bem-sucedida, você poderá selecionar workspace para atribuir ao metastore.

    Para saber como atribuir um espaço de trabalho a metastores, consulte a seção a seguir ou Habilite um workspace para Unity Catalog.

o passo 4: Atribuir workspace ao metastore

Como parte da etapa 2: Criar o metastore e, opcionalmente, gerar uma accountde serviço, você será solicitado a atribuir workspace ao metastore. Se você pulou essa etapa ou precisa adicionar mais workspace, faça o seguinte:

  1. Como administrador da conta, faça login no console da conta.

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

  3. Clique no nome do metastore.

  4. Clique na workspace tab.

  5. Clique em Atribuir ao workspace.

  6. Selecione um ou mais workspace. Você pode digitar parte do nome do workspace para filtrar a lista.

  7. Role até a parte inferior da caixa de diálogo e clique em Assign (Atribuir).

  8. Na caixa de diálogo de confirmação, clique em Habilitar.

o passo 5: Transferir 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.

Adicionar gerenciamento de armazenamento a um metastore existente

O armazenamento de gerenciamento em nível de metastore é opcional e não está incluído para metastores que foram criados automaticamente. Talvez você queira adicionar armazenamento em nível de metastore ao seu metastore se preferir um modelo de isolamento de dados que armazene dados centralmente para vários workspace. Você precisa de armazenamento no nível do metastore se quiser compartilhar Notebook usando o Delta Sharing ou se for um parceiro do Databricks que usa locais de preparo pessoais.

Consulte também Especificar um local de armazenamento gerenciar em Unity Catalog.

Requisitos

  • Você deve ter pelo menos um workspace anexado ao metastore Unity Catalog .

  • Permissões Databricks necessárias:

    • Para criar um local externo, você deve ser um administrador do metastore ou um usuário com privilégios CREATE EXTERNAL LOCATION e CREATE STORAGE CREDENTIAL .

    • Para adicionar o local de armazenamento à definição de metastore, você deve ser um administrador account .

  • Permissões do GCP necessárias: a capacidade de criar buckets do GCS e account de serviço.

o passo 1: Crie o local de armazenamento

Siga as instruções na etapa 1 (opcional): Crie o bucket GCS para criar um bucket GCS dedicado em uma do Google clouds account na mesma região do seu metastore.

o passo 2: Crie um local externo no Unity Catalog

Nesta etapa, você cria um local externo no Unity Catalog que faz referência ao caminho do bucket do GCS que você acabou de criar.

  1. Crie uma credencial de armazenamento.

    Como parte da criação da credencial de armazenamento, uma de clouds serviço do Google account é criada para você e você concede a essa de serviço account acesso ao bucket do GCS criado na etapa 1: Criar o local de armazenamento.

    Siga as instruções em Criar uma credencial de armazenamento para se conectar ao Google Cloud Storage.

  2. Crie um local externo que faça referência à credencial de armazenamento que você criou na etapa anterior e ao bucket do GCS que você criou na etapa 1: Crie o local de armazenamento.

    Siga as instruções em Criar um local externo para conectar o armazenamento em nuvem ao Databricks

  3. Conceda a si mesmo o privilégio CREATE MANAGED STORAGE no local externo.

    1. Clique no nome do local externo para abrir o painel de detalhes.

    2. Na Permissões tab, clique em Conceder .

    3. Na caixa de diálogo Conceder em <external location> , selecione você mesmo no campo Principais e selecione CREATE MANAGED STORAGE.

    4. Clique em Conceder.

o passo 3: Adicione o local de armazenamento ao metastore

Depois de criar um local externo que representa o bucket de armazenamento do metastore, você poderá adicioná-lo ao metastore.

  1. Como administrador da conta, faça login no console da conta.

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

  3. Clique no nome do metastore.

  4. Confirme que você é o administrador do Metastore.

    Caso contrário, clique em Editar e atribua-se como administrador do metastore. Você pode cancelar sua atribuição quando concluir este procedimento.

  5. Na Configuração tab, ao lado do caminho do bucket do GCS, clique em Definir.

  6. Na caixa de diálogo Definir raiz do metastore , insira o caminho do bucket do GCS usado para criar o local externo e clique em Atualizar.

    Você não pode modificar esse caminho depois de defini-lo.

Excluir uma metaloja

Se você está fechando sua account do Databricks ou tem outro motivo para excluir o acesso aos dados gerenciados por seu metastore do Unity Catalog, você pode excluir o metastore.

Aviso

Todos os objetos gerenciados pelo metastore ficarão inacessíveis usando workspace do Databricks. Essa ação não pode ser desfeita.

Os dados e metadados da tabela gerenciar serão excluídos automaticamente após 30 dias. Os dados da tabela externa em seu armazenamento cloud não são afetados pela exclusão do metastore.

Para excluir um metastore:

  1. Como administrador do metastore, log in no consoleaccount .

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

  3. Clique no nome do metastore.

  4. Na tab Configuração , clique no menu de três botões no canto superior direito e selecione Excluir.

  5. Na caixa de diálogo de confirmação, insira o nome do metastore e clique em Excluir.