Apache Spark se conecta al lakehouse sin fronteras a través del catálogo de tiempo de ejecución de Lakehouse. Esta integración usa el extremo del catálogo de REST de Apache Iceberg para proporcionar una interfaz estándar para descubrir y administrar tablas de Apache Iceberg.
Para comenzar, consulta las siguientes guías:
Crea y consulta una tabla de Iceberg con Google Cloud CLI (guía de inicio rápido)
Configura Spark y Hive con el catálogo de entorno de ejecución de Lakehouse
Propiedades de configuración de Spark
Configura tu sesión de Spark o el envío de trabajos con las siguientes propiedades para conectarte al extremo del catálogo de REST de Apache Iceberg:
| Propiedad | Valor | Descripción |
|---|---|---|
spark.sql.catalog.CATALOG_NAME |
org.apache.iceberg.spark.SparkCatalog |
Registra la implementación del catálogo de Apache Iceberg Spark. |
spark.sql.catalog.CATALOG_NAME.type |
rest |
Especifica el tipo de catálogo de REST. |
spark.sql.catalog.CATALOG_NAME.uri |
https://biglake.googleapis.com/iceberg/v1/restcatalog |
Especifica el URI del extremo del catálogo de REST de Apache Iceberg en el catálogo de tiempo de ejecución de Lakehouse. Para enrutar solicitudes a un extremo regional, usa https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog. |
spark.sql.catalog.CATALOG_NAME.warehouse |
bl://projects/PROJECT_ID/catalogs/CATALOG_ID |
Especifica la ruta de acceso del almacén para un catálogo de varios bucket en el catálogo de tiempo de ejecución de Lakehouse. Para un catálogo de un solo bucket, usa gs://CLOUD_STORAGE_BUCKET_NAME. |
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project |
PROJECT_ID |
Especifica el ID del proyecto de Google Cloud para la facturación y la cuota en las solicitudes del catálogo de entorno de ejecución de Lakehouse. |
spark.sql.catalog.CATALOG_NAME.rest.auth.type |
org.apache.iceberg.gcp.auth.GoogleAuthManager |
Configura la autenticación de Google Cloud para el extremo del catálogo de REST de Apache Iceberg. |
spark.sql.catalog.CATALOG_NAME.io-impl |
org.apache.iceberg.gcp.gcs.GCSFileIO |
Especifica la implementación de FileIO de Cloud Storage para Apache Iceberg. Es obligatorio cuando se usa el modo de venta de credenciales. |
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation |
vended-credentials |
Solicita credenciales de almacenamiento de corta duración y alcance reducido del catálogo de entorno de ejecución de Lakehouse durante la carga de la tabla cuando se usa el modo de venta de credenciales. |
spark.sql.extensions |
org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions |
Habilita las extensiones y optimizaciones de SQL de Apache Iceberg en Spark. |
spark.sql.defaultCatalog |
CATALOG_NAME |
Opcional: Establece el catálogo predeterminado para la sesión de Spark. |
Reemplaza lo siguiente:
CATALOG_NAME: Es el identificador del nombre del catálogo configurado en tu sesión de Spark (por ejemplo,my_catalog).LOCATION: Es la región de Google Cloud en la que se encuentra tu catálogo cuando usas un extremo regional (por ejemplo,us-central1).PROJECT_ID: Es el ID del proyecto de Google Cloud .CATALOG_ID: Es el ID de tu catálogo en el catálogo de tiempo de ejecución de Lakehouse.CLOUD_STORAGE_BUCKET_NAME: Es el nombre del bucket de Cloud Storage asociado con un catálogo de un solo bucket.
Para obtener más detalles de configuración, consulta Configura la aplicación cliente y la documentación oficial de Apache Iceberg Spark.