Usa Apache Spark con el catálogo de entorno de ejecución de Lakehouse

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:

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.