Visão geral das tabelas do Apache Iceberg

As tabelas do Apache Iceberg, gerenciadas pelo catálogo de execução do Lakehouse e pelo endpoint do catálogo REST do Iceberg, são tabelas abertas e interoperáveis do Iceberg que seguem a especificação de tabela do Apache Iceberg de código aberto, que pode ser lida e gravada usando qualquer mecanismo de processamento compatível com o Iceberg ou o BigQuery.

Neste documento, essas tabelas são chamadas de "tabelas do Iceberg do Lakehouse" ou "tabelas do Iceberg".

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

  1. Interoperabilidade de leitura/gravação (pré-lançamento): suporte 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 Iceberg do Lakehouse (pré-lançamento).

  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 que as tabelas são criadas, elas ficam disponíveis para leitura e gravação nesses mecanismos e no BigQuery, e fazem parte da mesma construção de catálogo e namespace, gerenciada pelo catálogo de execução do Lakehouse.
  2. Suporte à distribuição de credenciais para o BigQuery (pré-lançamento): o BigQuery oferece suporte ao uso da distribuição de credenciais para autenticação ao ler ou gravar tabelas do Iceberg no catálogo de execução do Lakehouse. É possível definir a distribuição 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 Google Cloud console, Spark, Trino, gcloud, BigQuery (pré-lançamento) ou a API do catálogo REST do Iceberg (CreateIcebergTable).
  • Listar tabelas: veja os identificadores de tabelas em um namespace usando o Google Cloud console, o Spark, o Trino, o gcloud, o BigQuery (pré-lançamento) ou a API do catálogo REST do Iceberg (ListIcebergTableIdentifiers).
  • Receber detalhes da tabela: inspecione o esquema, as propriedades e as credenciais da tabela usando o Google Cloud console, Spark, Trino, gcloud, BigQuery (pré-lançamento) ou a API do catálogo REST do Iceberg (GetIcebergTable, LoadIcebergTableCredentials).
  • Inserir dados: anexe linhas de dados às suas 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, no Trino ou no BigQuery (pré-lançamento) usando a nomenclatura 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: evolua o esquema da tabela e atualize as propriedades de metadados usando o Google Cloud console, o Spark, o Trino, o gcloud, o BigQuery (pré-lançamento) ou a API do catálogo REST do Iceberg (UpdateIcebergTable).
  • Configurar opções de tabela: configure propriedades para ativar o DML do BigQuery (pré-lançamento) e o gerenciamento automático de tabelas.
  • Gerenciar ACLs de tabelas: 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 vetores de exclusão binária para otimizar o desempenho da exclusão em tabelas do Iceberg V3.
  • Excluir uma tabela: Remova um registro de tabela do catálogo sem limpar os arquivos de armazenamento subjacentes usando o Google Cloud console, o Spark, o Trino, o gcloud, o BigQuery (pré-lançamento) ou a API do catálogo REST do Iceberg (DeleteIcebergTable).

A seguir