Escolher a arquitetura de tabela certa é fundamental para maximizar o desempenho, reduzir custos e garantir o acesso aos dados nas 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 mecanismos de gravação, nos requisitos de leitura e nas 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/gravação contínua em mecanismos compatíveis com o Iceberg (Spark, Flink, Trino) e o BigQuery, com suporte da interface de catálogo REST do Iceberg padrão do setor.
Formatos de tabela compatíveis
As tabelas do Apache Iceberg V2 (GA) e V3 (pré-lançamento) são compatíveis. As tabelas do Iceberg V1 não são compatíveis. Antes de usar tabelas V1 atuais com o Lakehouse para Apache Iceberg, faça upgrade delas 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é-lançamento).
- 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á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 a compatibilidade do ExternalCatalog do Apache Spark, permitindo que você compartilhe dados perfeitamente entre o Apache Spark, o Apache Hive e o BigQuery. Você cria essas tabelas em mecanismos de código aberto e as armazena 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 exigir apenas acesso de leitura do BigQuery.
As tabelas gerenciadas pelo endpoint do metastore Hive são tabelas padrão do Apache Hive e do Spark (usando SerDes do Hive ou fontes de dados do Spark), não tabelas do Apache Iceberg. Para criar e gerenciar tabelas do Apache Iceberg no catálogo de ambientes 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 (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 gerenciadas do Apache Iceberg, tabelas nativas e tabelas externas.
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 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 Azure Armazenamento de Blobs. 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 tipos de tabelas entre o catálogo de ambientes de execução do Lakehouse e o BigQuery.
Lakehouse
| Apache Iceberg (GA) | Lakehouse entre nuvens (pré-lançamento) |
Apache Hive (pré-lançamento) | |
|---|---|---|---|
| Metastore | Catálogo de ambientes de execução do Lakehouse | Catálogo de ambientes de execução do Lakehouse | Catálogo de ambientes de execução do Lakehouse |
| Armazenamento | Cloud Storage | Cloud Storage / Amazon S3 | Cloud Storage |
| Otimização de armazenamento | Gerenciado pelo cliente, por terceiros ou pelo Google (pré-lançamento) | Gerenciado pelo cliente ou por terceiros | Gerenciado pelo cliente ou por terceiros |
| Leitura/gravação |
Mecanismos de código aberto (leitura/gravação) BigQuery (leitura/gravação [pré-lançamento]) |
Mecanismos de código aberto (leitura) BigQuery (leitura) |
Mecanismos de código aberto (leitura/gravação) BigQuery (somente leitura) |
| Operações avançadas | Nenhuma | Nenhum | Nenhum |
| Casos de uso | Lakehouse aberto | Consulte dados em outros provedores de nuvem sem migrar arquivos ou criar pipelines de ETL complexos. | Migre 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 externo ou auto-hospedado | BigQuery |
| Armazenamento | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| Otimização de armazenamento | Gerenciada pelo Google | Gerenciado 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
API BigQuery Storage) BigQuery (leitura/gravação) |
| Operações avançadas | 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 | 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 tabelas | 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.