Atualizar um catálogo

Ao atualizar um catálogo (como um catálogo REST do Apache Iceberg), é possível modificar as propriedades dele, como modo de credencial, local padrão do data warehouse ou tipo de catálogo subjacente.

Por exemplo, é possível fazer upgrade de um catálogo de um único bucket (gs://) para um tipo de catálogo de vários buckets (bl://), o que é recomendado. A atualização do catálogo oferece benefícios significativos, como permitir que ele abranja vários buckets de armazenamento.

Antes de começar

  1. Leia Sobre o catálogo de ambientes de execução do Lakehouse para entender como ele funciona e as limitações do serviço.
  2. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Funções exigidas

Para receber as permissões necessárias para atualizar um catálogo, peça ao administrador que conceda a você os seguintes papéis do IAM:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Atualizar um catálogo

É possível atualizar um catálogo usando o console do Google Cloud , o gcloud ou a API REST.

Console

  1. No console do Google Cloud , abra a página Lakehouse.

    Acessar o lakehouse

  2. Na linha do catálogo que você quer atualizar, clique em Mais ações do catálogo > Editar.

  3. Em Configuração do catálogo, modifique as configurações que você quer atualizar.

  4. Selecione Salvar.

gcloud

Opção 1: atualizar as propriedades do catálogo

Para atualizar as propriedades do catálogo (como descrição ou locais restritos), execute o comando gcloud beta biglake iceberg catalogs update:

gcloud beta biglake iceberg catalogs update CATALOG_ID \
    --project="PROJECT_ID" \
    [--description="DESCRIPTION"] \
    [--credential-mode="CREDENTIAL_MODE"] \
    [--restricted-locations="RESTRICTED_LOCATIONS"]

Substitua:

  • CATALOG_ID: o ID do catálogo do ambiente de execução do Lakehouse.
  • PROJECT_ID: o ID do projeto Google Cloud .
  • DESCRIPTION: (opcional) uma descrição do catálogo.
  • CREDENTIAL_MODE: (opcional) o método de autenticação. Use end-user para Credenciais do usuário final ou vended-credentials para Modo de venda de credenciais.
  • RESTRICTED_LOCATIONS: (opcional) uma lista separada por vírgulas de outros buckets ou caminhos de armazenamento permitidos. Atenção: se você especificar vários caminhos ou intervalos sobrepostos, isso poderá causar conflitos de metadados, substituições acidentais de dados ou problemas de segurança, como vazamento de permissões.

Opção 2: fazer upgrade de um catálogo de um único bucket (gs://) para um catálogo de vários buckets (bl://) (recomendado)

Para fazer upgrade de um catálogo de bucket único (gs://) para um catálogo de vários buckets (bl://), que é o recomendado, execute o comando gcloud beta biglake iceberg catalogs update e defina o parâmetro --catalog-type como biglake:

gcloud beta biglake iceberg catalogs update CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="biglake"

REST

Opção 1: atualizar as propriedades do catálogo

Para modificar as propriedades de um catálogo (como a descrição) usando a API REST, faça uma solicitação PATCH para o endpoint UpdateIcebergCatalog com o updateMask adequado:

PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.description

O corpo da solicitação precisa conter um payload JSON IcebergCatalog com os campos a serem atualizados:

{
  "description": "Updated catalog description"
}

Opção 2: fazer upgrade de um catálogo de um único bucket (gs://) para um catálogo de vários buckets (bl://) (recomendado)

Para fazer upgrade do tipo usando a API REST, faça uma solicitação PATCH para o endpoint UpdateIcebergCatalog com o catalogType no updateMask:

PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.catalogType

O corpo da solicitação precisa conter um payload JSON IcebergCatalog com o novo tipo de catálogo:

{
  "catalogType": "BIGLAKE"
}

Substitua:

  • PROJECT_ID: o ID do projeto Google Cloud .
  • CATALOG_ID: o ID do catálogo do ambiente de execução do Lakehouse.