O Lakehouse para Apache Iceberg oferece suporte a vários tipos de tabelas, com diferentes níveis de gerenciamento, desempenho e interoperabilidade para o lakehouse no Google Cloud. Com base na origem dos dados, nos requisitos do mecanismo de gravação e nas necessidades de controle, é possível escolher formatos de tabela com suporte do catálogo de ambientes de execução do Lakehouse ou do BigQuery.
Formatos de tabela com suporte
Somente tabelas do Apache Iceberg V2 são aceitas. As tabelas do Iceberg V1 não são compatíveis. Se você tiver tabelas do Iceberg V1, será necessário fazer upgrade para a V2 (por exemplo, executando ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); ou usando operações de mecanismo semelhantes) antes de usá-las com o Lakehouse para Apache Iceberg.
Formatos de tabela por catálogo e mecanismo
Selecione um catálogo ou mecanismo abaixo para saber mais sobre os formatos de tabela com suporte, a configuração do metastore, os recursos de otimização de armazenamento e a interoperabilidade do mecanismo.
Catálogo REST do Iceberg
O catálogo de ambientes de execução do Lakehouse gerencia tabelas do Apache Iceberg pelo endpoint do catálogo REST do Iceberg, fornecendo uma interface REST padrão para ampla compatibilidade com mecanismos de código aberto, como Apache Spark, Apache Flink e Trino. Essas tabelas são criadas em mecanismos de código aberto e armazenadas no Cloud Storage. Essa opção é melhor se você quiser que o fluxo de trabalho de ETL seja gerenciado por mecanismos de código aberto e só precise de acesso de leitura do BigQuery.
Os principais recursos incluem:
- Metastore: catálogo de ambientes de execução do Lakehouse.
- Armazenamento: Cloud Storage.
- Otimização de armazenamento: gerenciada por você ou por terceiros.
- Acesso de leitura e gravação:
- Mecanismos de código aberto: leitura e gravação.
- BigQuery: somente leitura.
- Casos de uso: lakehouse aberto com armazenamento de alto desempenho e nível empresarial para análises avançadas, streaming e IA.
Metastore Hive
O catálogo de ambientes de execução do Lakehouse gerencia tabelas do Apache Hive por um endpoint do metastore do Apache Hive (HMS, na sigla em inglês) otimizado para compatibilidade com o ExternalCatalog do Apache Spark, permitindo que você compartilhe dados perfeitamente entre o Apache Spark, o Apache Hive e o BigQuery. Essas tabelas são criadas em mecanismos de código aberto e armazenadas no Cloud Storage. Essa opção é melhor se você quiser que o fluxo de trabalho de ETL seja gerenciado por mecanismos de código aberto sem precisar de um metastore Hive auto-hospedado separado e só precise de acesso de leitura do BigQuery.
Os principais recursos incluem:
- Metastore: catálogo de ambientes de execução do Lakehouse (pelo
personalizado
IMetastoreClient). - Armazenamento: Cloud Storage (com suporte a formatos como Parquet, ORC, e Avro).
- Otimização de armazenamento: gerenciada por você ou por terceiros.
- Acesso de leitura e gravação:
- Mecanismos de código aberto (Spark e Hive): leitura e gravação.
- BigQuery: somente leitura.
- Casos de uso: migração de cargas de trabalho atuais do Spark e do Hive para um metastore sem servidor totalmente gerenciado no Google Cloud.
BigQuery
O BigQuery oferece suporte a tabelas do Apache Iceberg, tabelas nativas e tabelas externas.
Tabelas do Apache Iceberg: são tabelas do Apache Iceberg que você cria e gerencia no BigQuery e armazena no Cloud Storage. Embora possam ser lidas por mecanismos de código aberto, o BigQuery é o mecanismo que gerencia os metadados e grava neles. Essa opção é melhor se você quiser que o fluxo de trabalho seja totalmente gerenciado pelo BigQuery.
Tabelas nativas: são tabelas nativas do BigQuery. Elas são totalmente gerenciadas e oferecem os recursos de análise e gerenciamento mais avançados. Essa opção é melhor para cargas de trabalho que não são do Iceberg.
Tabelas externas: são construções específicas do BigQuery para dados armazenados no Cloud Storage, no Amazon S3 ou no Armazenamento de Blobs do Azure. Os dados e metadados são autogerenciados, e o BigQuery só tem acesso de leitura. Escolha essa opção para dados que você quer gerenciar diretamente em um catálogo ou armazenamento de terceiros.
Comparar tipos de tabela
Use o gráfico a seguir para comparar tipos de tabela entre o catálogo de ambientes de execução do Lakehouse e o BigQuery.
Lakehouse
| Apache Iceberg (GA) | Apache Hive (visualização) | |
|---|---|---|
| Metastore | Catálogo de ambientes de execução do Lakehouse | Catálogo de ambientes de execução do Lakehouse |
| Armazenamento | Cloud Storage | Cloud Storage |
| Otimização de armazenamento | Gerenciado pelo cliente ou por terceiros | Gerenciado pelo cliente ou por terceiros |
| Leitura / gravação |
Mecanismos de código aberto (leitura/gravação) BigQuery (somente leitura) |
Mecanismos de código aberto (leitura/gravação) BigQuery (somente leitura) |
| Operações avançadas | Nenhuma | Nenhum |
| Casos de uso | Lakehouse aberto | Migração de cargas de trabalho atuais do Spark e do Hive para um metastore sem servidor totalmente gerenciado |
BigQuery
| Iceberg gerenciado pelo BigQuery | Tabelas externas | Tabelas padrão | |
|---|---|---|---|
| Metastore | BigQuery | Metastore externo ou auto-hospedado | BigQuery |
| Armazenamento | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| Otimização de armazenamento | Gerenciado pelo Google | Gerenciado pelo cliente ou por terceiros | Gerenciado pelo Google |
| Leitura / gravação |
Mecanismos de código aberto (somente leitura com bibliotecas do Iceberg, interoperabilidade de leitura/gravação com a API BigQuery Storage) BigQuery (leitura/gravação) |
Mecanismos de código aberto (leitura/gravação) BigQuery (somente leitura) |
Mecanismos de código aberto (interoperabilidade de leitura/gravação com
API BigQuery Storage) BigQuery (leitura/gravação) |
| Operações avançadas | Streaming de alta capacidade com a API BigQuery Storage Write, captura de dados alterados (CDC) e transações de várias instruções | Nenhuma | Streaming de alta capacidade com a API BigQuery Storage Write, captura de dados de mudança (CDC) e transações de várias instruções |
| Casos de uso | Lakehouse aberto com armazenamento de alto desempenho e nível empresarial para análises avançadas, streaming e IA | Tabelas de preparação para cargas do BigQuery, tabelas legadas somente de consulta | Armazenamento de nível empresarial para análises avançadas, streaming e IA |
A seguir
Saiba como gerenciar tabelas do Apache Iceberg.
Saiba como importar tabelas externas do Iceberg usando o Dataflow.
Saiba como usar a federação de catálogos com o BigQuery.