Utiliser Apache Spark avec le catalogue d'environnements d'exécution Lakehouse

Apache Spark se connecte au lakehouse sans frontières via le catalogue d'environnements d'exécution Lakehouse. Cette intégration utilise le point de terminaison du catalogue REST Apache Iceberg pour fournir une interface standard permettant de découvrir et de gérer les tables Apache Iceberg.

Pour commencer, consultez les guides suivants :

Propriétés de configuration Spark

Configurez votre session Spark ou l'envoi de votre job avec les propriétés suivantes pour vous connecter au point de terminaison du catalogue REST Apache Iceberg :

Propriété Valeur Description
spark.sql.catalog.CATALOG_NAME org.apache.iceberg.spark.SparkCatalog Enregistre l'implémentation du catalogue Apache Iceberg Spark.
spark.sql.catalog.CATALOG_NAME.type rest Spécifie le type de catalogue REST.
spark.sql.catalog.CATALOG_NAME.uri https://biglake.googleapis.com/iceberg/v1/restcatalog Spécifie l'URI du point de terminaison du catalogue REST Apache Iceberg dans le catalogue d'environnements d'exécution Lakehouse. Pour acheminer les requêtes vers un point de terminaison régional, utilisez https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog.
spark.sql.catalog.CATALOG_NAME.warehouse bl://projects/PROJECT_ID/catalogs/CATALOG_ID Spécifie le chemin d'accès à l'entrepôt pour un catalogue à plusieurs buckets dans le catalogue d'environnements d'exécution Lakehouse. Pour un catalogue à bucket unique, utilisez gs://CLOUD_STORAGE_BUCKET_NAME.
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project PROJECT_ID Spécifie l'ID du projet Google Cloud pour la facturation et le quota sur les requêtes du catalogue d'environnements d'exécution Lakehouse.
spark.sql.catalog.CATALOG_NAME.rest.auth.type org.apache.iceberg.gcp.auth.GoogleAuthManager Configure l'authentification Google Cloud pour le point de terminaison du catalogue REST Apache Iceberg.
spark.sql.catalog.CATALOG_NAME.io-impl org.apache.iceberg.gcp.gcs.GCSFileIO Spécifie l'implémentation FileIO de Cloud Storage pour Apache Iceberg. Obligatoire lorsque vous utilisez le mode de distribution d'identifiants.
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation vended-credentials Demande des identifiants de stockage éphémères et à champ d'application réduit au catalogue d'environnements d'exécution Lakehouse lors du chargement de la table lorsque vous utilisez le mode de distribution des identifiants.
spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions Active les extensions et optimisations SQL Apache Iceberg dans Spark.
spark.sql.defaultCatalog CATALOG_NAME Facultatif : définit le catalogue par défaut pour la session Spark.

Remplacez les éléments suivants :

  • CATALOG_NAME : identifiant du nom de catalogue configuré dans votre session Spark (par exemple, my_catalog).

  • LOCATION : région Google Cloud où se trouve votre catalogue lorsque vous utilisez un point de terminaison régional (par exemple, us-central1).

  • PROJECT_ID : ID de votre projet Google Cloud .

  • CATALOG_ID : ID de votre catalogue dans le catalogue d'environnements d'exécution Lakehouse.

  • CLOUD_STORAGE_BUCKET_NAME : nom du bucket Cloud Storage associé à un catalogue à bucket unique.

Pour en savoir plus sur la configuration, consultez Configurer l'application cliente et la documentation officielle d'Apache Iceberg Spark.