A integração do Spark e do Hive com o catálogo de ambientes de execução do Lakehouse elimina a sobrecarga operacional de manter um metastore Hive (HMS) auto-hospedado, ao mesmo tempo em que permite o compartilhamento unificado de metadados e consultas diretas de tabelas no BigQuery.
Este documento destaca as restrições funcionais e as considerações de serviço dessa integração. Antes de migrar ou criar seus pipelines de banco de dados de código aberto no catálogo de ambientes de execução do Lakehouse, revise estas limitações para determinar se essa visualização corresponde aos seus requisitos técnicos.
Se você estiver procurando instruções de configuração e consulta em vez de limites, consulte Usar o Spark e o Hive com o catálogo de ambientes de execução do Lakehouse.
Limitações do catálogo de ambientes de execução do Lakehouse
Esta seção lista as limitações do uso do catálogo de ambientes de execução do Lakehouse com vários serviços.
Limitações do metastore
- O Serviço Gerenciado para Apache Spark oferece suporte apenas a jobs do PySpark com o metastore do Lakehouse sem bordas.
- A API Dataproc não oferece suporte à definição de propriedades do metastore do Lakehouse no campo
properties. - Não é possível criar clusters do Serviço Gerenciado para Apache Spark que usem o Kerberos, porque o catálogo de ambientes de execução do Lakehouse não oferece suporte a APIs de token de delegação ou de chave primária.
- Os bancos de dados e as tabelas podem usar um
location_urido Cloud Storage que seja diferente do catálogo do Hive, desde que o bucket do Cloud Storage esteja na mesma região do catálogo do Hive. - O catálogo do Hive não pode conter namespaces e tabelas do Iceberg. Para criar e usar namespaces e tabelas do Iceberg, use o catálogo de ambientes de execução do Lakehouse.
Limitações da tabela
- Não é possível renomear a tabela.
- Não é possível renomear a partição.
- A exclusão de tabelas ou bancos de dados não remove os arquivos associados do Cloud Storage.
- Não é possível fazer pesquisas sem distinção entre maiúsculas e minúsculas.
- Não é possível fazer clustering e bucketing.
- Não é possível usar visualizações de tabela.
Tamanho do lote de partição
O catálogo de ambientes de execução do Lakehouse oferece suporte ao armazenamento e à recuperação de informações de particionamento para uso na remoção de partições. Ele é otimizado para leituras em gravações, o que resulta em um desempenho de consulta mais rápido por meio da remoção de partições.
Para otimizar o desempenho da ingestão de partições, o tamanho da partição em lote é limitado a 900.
Defina a configuração a seguir para as propriedades do Hive e do Spark que determinam o tamanho do lote de operações de particionamento:
SET hive.msck.repair.batch.size = 900;SET spark.sql.addPartitionInBatch.size = 900;
Limitações do BigQuery
- Por padrão, o BigQuery não oferece suporte a
ARRAY<ARRAY<>>ouARRAY<MAP<>>tipos de dados. O suporte aMAPprecisa ser adicionado a uma lista de permissões. Entre em contato com biglake-help@google.com se suas cargas de trabalho usaremMAPextensivamente. - Os tipos de chave
MAPoferecem suporte apenas a tipos de dados primitivos. Não é possível usarARRAY,STRUCTouMAPcomo tipos de chave. - Durante a visualização, o BigQuery só pode consultar dados do Cloud Storage. As seguintes limitações se aplicam:
- Os URIs de local da tabela não podem incluir um caractere curinga (
*). - Os URIs de local da tabela precisam ser diretórios.
- Os URIs de local da tabela não podem incluir um caractere curinga (
Limitações de replicação entre regiões e recuperação de desastres
O catálogo de ambientes de execução do Lakehouse oferece replicação entre regiões e recuperação de desastres para melhorar a disponibilidade e a resiliência do catálogo.
Ao usar o catálogo de ambientes de execução do Lakehouse com catálogos do Hive, as seguintes limitações se aplicam:
Os catálogos do Hive não oferecem recursos completos de recuperação de desastres, como failover iniciado pelo usuário.
Ao criar um catálogo do Hive, é necessário definir o
primary_locationpara corresponder à região do bucket do Cloud Storage. O catálogo de ambientes de execução do Lakehouse copia automaticamente os metadados para uma região secundária com base na configuração birregional ou multirregional do bucket. Essa cópia de metadados secundária é somente leitura e não pode ser promovida a principal. A redundância de dados depende das configurações birregionais ou multirregionais do bucket, que são separadas da replicação de metadados do catálogo de ambientes de execução do Lakehouse.
Considerações sobre o uso do catálogo de ambientes de execução do Lakehouse como substituto do metastore do Hive
A versão de visualização do catálogo de ambientes de execução do Lakehouse oferece suporte a um subconjunto da interface do metastore do Hive. Esse design prioriza a compatibilidade com o ExternalCatalog do Spark, que não exige compatibilidade total com o metastore do Hive.
Mapeamento de recursos
A tabela a seguir mapeia os recursos do metastore do Hive para os recursos do catálogo de ambientes de execução do Lakehouse e as permissões necessárias do Identity and Access Management (IAM).
| Recurso do metastore do Hive | Recurso do catálogo de ambientes de execução do Lakehouse | Permissão do IAM |
|---|---|---|
| Catálogo | Catálogo | biglake.catalogs.* |
| Banco de dados | Banco de dados | biglake.namespaces.* |
| Tabela | Tabela | biglake.tables.* |
Governança
O metastore do Hive (HMS) oferece governança nos níveis de tabela, coluna e partição. O catálogo de ambientes de execução do Lakehouse oferece permissões do IAM no nível da tabela e da partição. A governança no nível da coluna não é aceita.
Limitações de armazenamento
- Todas as limitações de tabelas externas do BigQuery se aplicam.
Limitações de partição
- Não é possível rastrear estatísticas no nível da coluna no nível da partição.
- A API
BatchCreateHivePartitionslimita as chamadas a 900 partições.