Escolher a arquitetura de tabela certa é fundamental para maximizar o desempenho, reduzir custos e garantir o acesso aos dados em todas as suas ferramentas de análise. Esta página explica os diferentes tipos de tabelas e endpoints de serviço disponíveis no Lakehouse para Apache Iceberg, ajudando você a escolher a melhor opção com base nos seus mecanismos de gravação, requisitos de leitura e necessidades de controle de gerenciamento.
Formatos de tabela por catálogo ou mecanismo
Selecione um catálogo ou mecanismo para saber mais sobre os formatos de tabela compatíveis, a configuração do metastore, os recursos de otimização de armazenamento e a interoperabilidade do mecanismo.
Catálogo de ambientes de execução do Lakehouse
O catálogo de ambientes de execução do Lakehouse gerencia tabelas do Apache Iceberg pelo endpoint do catálogo REST do Iceberg e oferece interoperabilidade de leitura e gravação contínua em mecanismos compatíveis com o Iceberg (Spark, Flink, Trino) e o BigQuery, com suporte da interface do catálogo REST do Iceberg, padrão do setor.
Formatos de tabela compatíveis
As tabelas do Apache Iceberg V2 (GA) e V3 (prévia) são compatíveis. Não há suporte para tabelas Iceberg V1. Antes de usar tabelas V1 com o Lakehouse para Apache Iceberg, faça upgrade para uma versão compatível. Para mais informações, consulte Fazer upgrade de tabelas do Iceberg V1 para V2.
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, opcionalmente, pelo Google (prévia).
- Acesso de leitura e gravação:
- Mecanismos de código aberto: leitura e gravação (GA)
- BigQuery: leitura/gravação (pré-lançamento)
- Casos de uso: lakehouse aberto com armazenamento de alto desempenho e nível empresarial para análise avançada, streaming e IA.
Metastore Hive
O catálogo de ambientes de execução do Lakehouse gerencia tabelas do Apache Hive usando um endpoint do metastore do Apache Hive (HMS) otimizado para compatibilidade com o Apache Spark ExternalCatalog, permitindo que você compartilhe dados de maneira integrada entre o Apache Spark, o Apache Hive e o BigQuery. Você cria essas tabelas com mecanismos de código aberto e as armazena no Cloud Storage. Essa opção é ideal
se você quiser que seu fluxo de trabalho de ETL seja gerenciado por mecanismos de código aberto sem
precisar de um metastore do Hive autohospedado separado e exigir apenas acesso de leitura
do BigQuery.
As tabelas gerenciadas pelo endpoint do metastore do Hive são tabelas padrão do Apache Hive e do Spark (usando Hive SerDes ou fontes de dados do Spark), não do Apache Iceberg. Para criar e gerenciar tabelas do Apache Iceberg no catálogo de tempo de execução do Lakehouse, use o endpoint do catálogo REST do Iceberg.
Os principais recursos incluem:
- Metastore: catálogo de ambientes de execução do Lakehouse (por
IMetastoreClientpersonalizado). - Armazenamento: Cloud Storage (compatível com 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: migrar cargas de trabalho atuais do Spark e do Hive para um metastore sem servidor totalmente gerenciado no Google Cloud.
BigQuery
O BigQuery é compatível com tabelas gerenciadas, nativas e externas do Apache Iceberg.
Tabelas gerenciadas do Apache Iceberg: são tabelas do Apache Iceberg que você cria e gerencia no BigQuery e armazena no Cloud Storage. Embora possam ser lidos por mecanismos de código aberto, o BigQuery é o mecanismo que gerencia os metadados e grava neles. Essa opção é ideal se você quer que seu fluxo de trabalho seja totalmente gerenciado pelo BigQuery.
Tabelas nativas: são tabelas nativas do BigQuery. Eles são totalmente gerenciados 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 tem apenas acesso de leitura. Escolha essa opção para dados que você quer gerenciar diretamente em um catálogo ou armazenamento de terceiros.
Formatos de tabela por produto
Use o gráfico a seguir para comparar os tipos de tabela entre o catálogo de tempo de execução do Lakehouse e o BigQuery.
Lakehouse
| Apache Iceberg (GA) | Apache Hive (pré-lançamento) | |
|---|---|---|
| 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 do armazenamento | Gerenciada pelo cliente, por terceiros ou pelo Google (prévia) | Gerenciada pelo cliente ou por terceiros |
| Leitura/gravação |
Mecanismos de código aberto (leitura/gravação) BigQuery (leitura/gravação). Visualizar |
Mecanismos de código aberto (leitura/gravação) BigQuery (somente leitura) |
| Operações avançadas | Nenhum | Nenhum |
| Casos de uso | Open lakehouse | Migrar cargas de trabalho atuais do Spark e do Hive para um metastore sem servidor totalmente gerenciado |
BigQuery
| Tabelas gerenciadas do Apache Iceberg | Tabelas externas | Tabelas padrão | |
|---|---|---|---|
| Metastore | BigQuery | Metastore externa ou auto-hospedada | BigQuery |
| Armazenamento | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| Otimização do armazenamento | Gerenciada pelo Google | Gerenciada pelo cliente ou por terceiros | Gerenciada 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 a API BigQuery Storage) BigQuery (leitura/gravação) |
| Operações avançadas | Streaming de alta capacidade com a API BigQuery Storage Write, Change Data Capture (CDC) e transações de várias instruções | Nenhum | Streaming de alta capacidade com a API BigQuery Storage Write, Change Data Capture (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 teste 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.