Fazer upgrade das tabelas do Iceberg V1 para V2

Se você tiver tabelas do Apache Iceberg versão 1 (V1), faça upgrade delas usando seu mecanismo de consulta antes de usá-las com o endpoint do catálogo REST do Apache Iceberg. Para mais informações, consulte Alterar uma tabela.

Antes de começar

  1. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  2. Ative a API BigLake, se ela ainda não estiver ativada.

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    Ativar a API

  3. Configure o catálogo do ambiente de execução do Lakehouse com o endpoint do catálogo REST do Apache Iceberg.

Funções exigidas

Para ter as permissões necessárias para fazer upgrade de uma tabela, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto e no bucket de armazenamento:

  • Fazer upgrade da tabela no modo de venda de credenciais: Editor do BigLake (roles/biglake.editor): o projeto
  • Atualize a tabela no modo sem fornecimento de credenciais:
    • Editor do BigLake (roles/biglake.editor): o projeto
    • Usuário de objetos do Storage (roles/storage.objectUser): o bucket do Cloud Storage

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.

Fazer upgrade de uma tabela

Para fazer upgrade de uma tabela do Iceberg V1 para V2, execute o seguinte comando no seu mecanismo de consulta:

Spark

ALTER TABLE CATALOG_NAME.SCHEMA_NAME.TABLE_NAME SET TBLPROPERTIES ('format-version'='2');

Substitua:

  • CATALOG_NAME: o nome do catálogo.
  • SCHEMA_NAME: o nome do seu esquema.
  • TABLE_NAME: o nome da tabela.

A seguir