Utilizzare Apache Spark con il catalogo runtime Lakehouse

Apache Spark si connette al lakehouse senza confini tramite il catalogo di runtime lakehouse. Questa integrazione utilizza l'endpoint del catalogo REST Apache Iceberg per fornire un'interfaccia standard per l'esplorazione e la gestione delle tabelle Apache Iceberg.

Per iniziare, consulta le seguenti guide:

Proprietà di configurazione di Spark

Configura la sessione Spark o l'invio del job con le seguenti proprietà per connetterti all'endpoint del catalogo REST Apache Iceberg:

Proprietà Valore Descrizione
spark.sql.catalog.CATALOG_NAME org.apache.iceberg.spark.SparkCatalog Registra l'implementazione del catalogo Spark di Apache Iceberg.
spark.sql.catalog.CATALOG_NAME.type rest Specifica il tipo di catalogo REST.
spark.sql.catalog.CATALOG_NAME.uri https://biglake.googleapis.com/iceberg/v1/restcatalog Specifica l'URI dell'endpoint del catalogo REST Apache Iceberg nel catalogo di runtime di Lakehouse. Per instradare le richieste a un endpoint regionale, utilizza https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog.
spark.sql.catalog.CATALOG_NAME.warehouse bl://projects/PROJECT_ID/catalogs/CATALOG_ID Specifica il percorso del warehouse per un catalogo con più bucket nel catalogo di runtime Lakehouse. Per un catalogo con un singolo bucket, utilizza gs://CLOUD_STORAGE_BUCKET_NAME.
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project PROJECT_ID Specifica l'ID progetto Google Cloud per la fatturazione e la quota per le richieste del catalogo di runtime Lakehouse.
spark.sql.catalog.CATALOG_NAME.rest.auth.type org.apache.iceberg.gcp.auth.GoogleAuthManager Configura l'autenticazione Google Cloud per l'endpoint del catalogo REST Apache Iceberg.
spark.sql.catalog.CATALOG_NAME.io-impl org.apache.iceberg.gcp.gcs.GCSFileIO Specifica l'implementazione di Cloud Storage FileIO per Apache Iceberg. Obbligatorio se utilizzi la modalità di distribuzione delle credenziali.
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation vended-credentials Richiede credenziali di archiviazione con ambito ridotto e di breve durata dal catalogo di runtime Lakehouse durante il caricamento della tabella quando si utilizza la modalità di distribuzione delle credenziali.
spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions Abilita le estensioni e le ottimizzazioni SQL di Apache Iceberg in Spark.
spark.sql.defaultCatalog CATALOG_NAME Facoltativo: imposta il catalogo predefinito per la sessione Spark.

Sostituisci quanto segue:

  • CATALOG_NAME: l'identificatore del nome del catalogo configurato nella sessione Spark (ad esempio my_catalog).

  • LOCATION: la regione Google Cloud in cui si trova il catalogo quando utilizzi un endpoint regionale (ad esempio,us-central1).

  • PROJECT_ID: il tuo ID progetto Google Cloud .

  • CATALOG_ID: l'ID del tuo catalogo nel catalogo di runtime di Lakehouse.

  • CLOUD_STORAGE_BUCKET_NAME: il nome del bucket Cloud Storage associato a un catalogo con un singolo bucket.

Per ulteriori dettagli sulla configurazione, consulta Configura l'applicazione client e la documentazione ufficiale di Apache Iceberg Spark.