Visão geral das tabelas do Apache Iceberg

As tabelas do Apache Iceberg gerenciadas pelo catálogo do ambiente de execução do Lakehouse e disponibilizadas pelo endpoint do catálogo REST do Apache Iceberg permitem que você trabalhe com dados abertos e interoperáveis que aderem à especificação de tabela do Apache Iceberg de código aberto. É possível ler e gravar essas tabelas usando o BigQuery ou qualquer mecanismo de processamento compatível com o Iceberg.

Neste documento, essas tabelas são chamadas de tabelas gerenciadas do Apache Iceberg ou tabelas do Iceberg. Para comparar tipos de tabela, consulte Comparar tipos de tabela.

Opções de tabela

É possível ativar os seguintes recursos configurando as opções de tabela:

  1. Interoperabilidade de leitura/gravação (pré-lançamento): suporte integrado de leitura e gravação para vários mecanismos, incluindo o BigQuery, o serviço gerenciado para Apache Spark, mecanismos compatíveis com o Iceberg, como mecanismos de código aberto (Apache Spark, Apache Flink e Trino) e mecanismos de terceiros (como o Snowflake).
  2. Gerenciamento automático de tabelas (pré-lançamento): gerenciamento automático de tabelas (otimização de armazenamento), como compactação e coleta de lixo.

Além dos recursos anteriores, os seguintes recursos também são compatíveis por padrão com as tabelas do Apache Iceberg gerenciadas pelo Lakehouse:

  1. Linguagem de definição de dados do BigQuery (pré-lançamento): também é possível criar ou atualizar tabelas do Iceberg usando instruções DDL do BigQuery (por exemplo, CREATE TABLE, ALTER TABLE e DROP TABLE), além de criar ou atualizar tabelas usando mecanismos compatíveis com o Iceberg, como Spark, Flink e Trino. Depois de criadas, as tabelas ficam disponíveis para leitura e gravação nesses mecanismos e no BigQuery, além de fazerem parte do mesmo catálogo e namespace, gerenciados pelo catálogo do ambiente de execução do Lakehouse.
  2. Suporte à venda de credenciais para o BigQuery: o BigQuery permite o uso da venda de credenciais para autenticação ao ler ou gravar tabelas do Iceberg no catálogo do ambiente de execução do Lakehouse. É possível definir a venda de credenciais no nível do catálogo.

Ações de gerenciamento

É possível realizar as seguintes ações de gerenciamento nas tabelas do Apache Iceberg:

  • Criar uma tabela:crie uma tabela do Apache Iceberg em um namespace de catálogo usando o console do Google Cloud , o Spark, o Trino, a gcloud, o BigQuery (pré-lançamento) ou a API Iceberg REST Catalog (CreateIcebergTable).
  • Registrar uma tabela:registre uma tabela do Apache Iceberg em um namespace de catálogo usando a gcloud ou a API REST do catálogo do Iceberg (RegisterIcebergTable).
  • Listar tabelas:confira os identificadores de tabela em um namespace usando o console do Google Cloud , o Spark, o Trino, a gcloud, o BigQuery (pré-lançamento) ou a API Iceberg REST Catalog (ListIcebergTableIdentifiers).
  • Receber detalhes da tabela:inspecione o esquema, as propriedades e as credenciais da tabela usando o console do Google Cloud , o Spark, o Trino, a gcloud, o BigQuery (pré-lançamento) ou a API Iceberg REST Catalog (GetIcebergTable, LoadIcebergTableCredentials).
  • Inserir dados:adicione linhas de dados às tabelas do Iceberg usando o Spark, o Trino ou o BigQuery (pré-lançamento).
  • Consultar uma tabela:execute consultas nas tabelas do Iceberg no Spark, Trino ou BigQuery usando nomes de tabela de quatro partes.
  • Modificar dados com DML:atualize, exclua ou mescle linhas de dados nas tabelas do Iceberg usando instruções DML do BigQuery (pré-lançamento), do Spark ou do Trino.
  • Alterar uma tabela:desenvolva o esquema da tabela e atualize as propriedades de metadados usando o console do Google Cloud , o Spark, o Trino, a gcloud, o BigQuery (pré-lançamento) ou a API Iceberg REST Catalog (UpdateIcebergTable).
  • Configurar opções de tabela:configure as propriedades para ativar a DML do BigQuery (pré-lançamento) e o gerenciamento automático de tabelas.
  • Gerenciar ACLs de tabela:visualize e atualize as políticas do IAM nas tabelas do Iceberg para controlar o acesso de principais específicos (get-iam-policy, set-iam-policy).
  • Fazer upgrade das tabelas do Iceberg V1 para V2:faça upgrade das tabelas do Iceberg V1 para o formato V2 compatível.
  • Usar vetores de exclusão binária em tabelas do Iceberg V3:ative os vetores de exclusão binária para otimizar o desempenho de exclusão em tabelas do Iceberg V3.
  • Excluir uma tabela:remova o registro de uma tabela do catálogo sem limpar os arquivos de armazenamento subjacentes usando o console do Google Cloud , o Spark, o Trino, a gcloud, o BigQuery (pré-lançamento) ou a API REST do catálogo do Iceberg (DeleteIcebergTable).

A seguir