Acerca del extremo del catálogo personalizado de Apache Iceberg para BigQuery

El extremo del catálogo de Apache Iceberg personalizado para BigQuery conecta motores de consultas de código abierto, como Apache Spark y Apache Flink, al catálogo de entorno de ejecución de Lakehouse. Al integrar un complemento de catálogo personalizado (BigQueryMetastoreCatalog), este extremo te permite administrar y consultar metadatos de tablas de Apache Iceberg directamente a través de BigQuery mientras almacenas datos y archivos de metadatos en Cloud Storage.

Cómo funciona el catálogo de Iceberg personalizado

El catálogo de Apache Iceberg personalizado usa una implementación de catálogo personalizada (org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog) que se proporciona en una biblioteca JAR. Cuando tus cargas de trabajo de procesamiento se ejecutan en Managed Service para Apache Spark, el motor usa este complemento para interactuar con BigQuery como el almacén de metadatos de tus tablas de Apache Iceberg.

El flujo de trabajo funciona de la siguiente manera:

  1. Implementación del catálogo: Los motores de consultas cargan el JAR del catálogo de BigQuery Metastore y configuran las propiedades del catálogo de la sesión de Spark para usar org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog.
  2. Administración de metadatos: Cuando creas o modificas tablas con las APIs de Spark SQL o DataFrame, el complemento almacena las definiciones de conjuntos de datos y tablas en BigQuery.
  3. Almacenamiento de datos: Los archivos de metadatos de Apache Iceberg (metadata.json, listas de manifiestos, manifiestos) y los archivos de datos (como los archivos Parquet) se almacenan directamente en la ruta de almacén de Cloud Storage especificada.
  4. Acceso entre motores: Debido a que los metadatos están registrados en BigQuery, puedes consultar tablas desde motores de código abierto, como Spark, y directamente desde BigQuery.

Jerarquía de recursos

El extremo del catálogo de Apache Iceberg personalizado para BigQuery organiza los metadatos en la siguiente jerarquía:

Recurso Descripción
Proyecto El Google Cloud proyecto que contiene tus recursos de BigQuery y el almacenamiento de almacén de Cloud Storage
Espacio de nombres (conjunto de datos) Un conjunto de datos de BigQuery configurado para actuar como un espacio de nombres de Iceberg, que define la ubicación predeterminada de Cloud Storage para las tablas creadas en él
Tabla Una tabla de Apache Iceberg cuyo esquema, instantáneas y punteros de metadatos se rastrean en BigQuery y cuyos archivos de datos residen en Cloud Storage

Compara los catálogos de Iceberg personalizados y los catálogos de REST de Iceberg

En la siguiente tabla, se resumen las diferencias clave entre el extremo del catálogo de Apache Iceberg personalizado para BigQuery y el extremo del catálogo de REST de Apache Iceberg:

Función Catálogo de Iceberg personalizado para BigQuery Extremo del catálogo de REST de Apache Iceberg (recomendado)
Estándar de la API de Catalog Complemento personalizado (BigQueryMetastoreCatalog) API de Catalog de REST de Apache Iceberg de estándar abierto
Jerarquía del catálogo Proyecto > Conjunto de datos de BigQuery > Tabla Proyecto > Catálogo > Espacio de nombres > Tabla (P.C.E.T)
Configuración de almacenamiento Rutas de Cloud Storage especificadas por conjunto de datos o tabla Catálogos de varios buckets (bl://) o de un solo bucket (gs://)
Venta de credenciales No admitido (usa credenciales directas de IAM) Compatible (vende tokens de acceso de almacenamiento de corta duración)
Recuperación ante desastres No compatible Compatible (replicación y conmutación por error entre regiones)
Recomendado para Implementaciones y flujos de trabajo existentes Cargas de trabajo nuevas e integraciones de clientes de REST de Iceberg estándar

¿Qué sigue?