Limites et points à noter

L'intégration d'Apache Spark et d'Apache Hive au catalogue d'environnements d'exécution Lakehouse via le point de terminaison du catalogue Apache Hive vous permet de partager des métadonnées unifiées et d'interroger des tables directement dans BigQuery sans avoir à gérer un metastore Hive (HMS) auto-hébergé.

Avant de migrer ou de créer des pipelines de bases de données Open Source sur le catalogue d'environnements d'exécution Lakehouse, consultez les contraintes fonctionnelles et les considérations de service de ce document pour déterminer si l'intégration répond à vos exigences techniques. Pour obtenir des instructions de configuration et de requête, consultez Configurer Spark et Hive avec le catalogue d'environnements d'exécution Lakehouse.

Limites du catalogue d'environnements d'exécution Lakehouse

Cette section liste les limites d'utilisation du catalogue d'exécution Lakehouse avec différents services.

Limites du métastore

  • Pour les charges de travail par lot sans serveur, Managed Service pour Apache Spark n'accepte que les jobs PySpark lors de la connexion au point de terminaison du catalogue Apache Hive.
  • Pour les charges de travail sans serveur, l'API Dataproc n'est pas compatible avec les propriétés de metastore hive.* ou hive:* dans le champ properties. Spécifiez plutôt les propriétés spark.hive.metastore.* (ou configurez les options /etc/hive/conf/hive-site.xml ou --hiveconf lorsque vous utilisez la CLI Hive sur un cluster).
  • Vous ne pouvez pas créer de clusters Managed Service pour Apache Spark qui utilisent Kerberos, car le catalogue d'environnements d'exécution Lakehouse n'est pas compatible avec les API de jeton de délégation ou de clé primaire.
  • Les bases de données et les tables peuvent utiliser un location_uri Cloud Storage distinct de leur catalogue Hive, à condition que le bucket Cloud Storage se trouve dans la même région que le catalogue Hive.
  • Le catalogue Hive ne peut pas contenir d'espaces de noms ni de tables Iceberg. Pour créer et utiliser des espaces de noms et des tables Iceberg, utilisez plutôt le catalogue d'exécution Lakehouse.
  • Les suppressions en cascade ne sont pas compatibles avec les bases de données et les catalogues Hive.
  • La compatibilité avec Trino n'est pas disponible.

Limites des tables

  • Il n'est pas possible de renommer la table.
  • Le changement de nom de partition n'est pas possible.
  • La suppression de tables ou de bases de données ne supprime pas les fichiers associés de Cloud Storage.
  • La recherche non sensible à la casse n'est pas acceptée.
  • Le clustering et le bucketing ne sont pas acceptés.
  • Seules les vues virtuelles sont acceptées.
  • Les tables Delta Lake sont compatibles avec Apache Spark (lecture et écriture) et BigQuery (lecture seule). Les clients Hive (comme Hive CLI) ne sont pas compatibles avec les tables Delta Lake. Toutes les limites des tables externes BigQuery Delta Lake et les limites des tables BigLake s'appliquent. Pour en savoir plus et connaître les limites spécifiques, consultez Configurer Spark avec des tables Delta.

Taille de lot de partition

Le catalogue d'exécution Lakehouse permet de stocker et de récupérer des informations de partitionnement à utiliser pour l'élagage des partitions. Il est optimisé pour les lectures plutôt que pour les écritures, ce qui permet d'accélérer les performances des requêtes grâce à l'élagage des partitions.

Pour optimiser les performances d'ingestion des partitions, la taille des partitions par lot est limitée à 900.

Définissez la configuration suivante pour les propriétés Hive et Spark qui déterminent la taille de lot des opérations de partitionnement :

  • SET hive.msck.repair.batch.size = 900;
  • SET spark.sql.addPartitionInBatch.size = 900;

Limites de BigQuery

  • Par défaut, BigQuery n'accepte pas les types de données ARRAY<ARRAY<>> ou ARRAY<MAP<>>. La prise en charge de MAP doit être ajoutée à une liste d'autorisation. Contactez biglake-help@google.com si vos charges de travail utilisent intensivement MAP.
  • Les types de clés MAP n'acceptent que les types de données primitifs. Vous ne pouvez pas utiliser ARRAY, STRUCT ou MAP comme types de clés.
  • BigQuery ne peut interroger que les données de Cloud Storage. Les limites suivantes s'appliquent :

    • Les URI d'emplacement de table ne peuvent pas inclure de caractère générique (*).
    • Les URI d'emplacement de table doivent être des répertoires.

Limites de la réplication interrégionale et de la reprise après sinistre

Le catalogue d'environnements d'exécution Lakehouse fournit des fonctionnalités de réplication interrégionale et de reprise après sinistre pour améliorer la disponibilité et la résilience de votre catalogue.

Lorsque vous utilisez le catalogue d'environnements d'exécution Lakehouse avec des catalogues Hive, les limites suivantes s'appliquent :

  • Lorsque vous créez un catalogue Hive, vous devez définir son primary_location pour qu'il corresponde à la région de votre bucket Cloud Storage. Le catalogue d'environnements d'exécution Lakehouse copie ensuite automatiquement les métadonnées dans une région secondaire en fonction de la configuration birégionale ou multirégionale de votre bucket. Cette copie secondaire des métadonnées est en lecture seule jusqu'à ce que vous la promouviez en tant que copie principale à l'aide d'une opération de basculement.
  • Lors d'un basculement, le code temporel replication_time ne suit que la réplication des métadonnées du catalogue, et non si la réplication des fichiers de données Cloud Storage sous-jacents vers la région secondaire est terminée. La redondance des données dépend des paramètres birégionaux ou multirégionaux de votre bucket, qui sont distincts de la réplication des métadonnées du catalogue d'environnements d'exécution Lakehouse.

Remarques

Le catalogue d'environnements d'exécution Lakehouse est compatible avec un sous-ensemble de l'interface Hive Metastore. Cette conception privilégie la compatibilité avec le ExternalCatalog Spark, qui ne nécessite pas une compatibilité totale avec le metastore Hive.

Mappage des ressources

Le tableau suivant met en correspondance les ressources du metastore Hive avec les ressources du catalogue d'environnements d'exécution Lakehouse et les autorisations IAM (Identity and Access Management) requises.

Ressource de métastore Hive Ressource de catalogue d'environnements d'exécution Lakehouse Autorisation IAM
Catalogue Catalogue biglake.catalogs.*
Base de données Base de données biglake.namespaces.*
Table Table biglake.tables.*

Gouvernance

Le metastore Hive (HMS) assure la gouvernance au niveau des tables, des colonnes et des partitions. Le catalogue d'environnements d'exécution Lakehouse fournit des autorisations IAM au niveau de la table et de la partition. La gouvernance au niveau des colonnes n'est pas prise en charge.

Limites de stockage

  • Toutes les limites des tables externes BigQuery s'appliquent.

Limites des partitions

  • Le suivi des statistiques au niveau des colonnes au niveau de la partition n'est pas possible.
  • Les méthodes d'API BatchCreatePartitions, BatchDeletePartitions et BatchUpdatePartitions limitent les appels à 900 partitions par lot.

Étapes suivantes