Conceptos de extremos del catálogo de REST de Apache Iceberg

Lakehouse para Apache Iceberg administra los metadatos a través del catálogo de entorno de ejecución de Lakehouse. El sistema usa el extremo del catálogo de REST de Apache Iceberg para organizar los datos en una jerarquía de recursos estricta. La configuración del catálogo determina los tipos de almacenamiento compatibles, los comportamientos de enrutamiento regionales y las opciones de federación de consultas.

Jerarquía de recursos

El extremo del catálogo de REST de Apache Iceberg usa una jerarquía de recursos para organizar tus datos. En la siguiente tabla, se proporciona una descripción general de estos recursos:

Recurso Descripción
Catálogo Es el contenedor de nivel superior. Un catálogo te permite organizar los espacios de nombres y las tablas en grupos lógicos dividiéndolos en diferentes catálogos.
Espacio de nombres Es una agrupación lógica que se usa para organizar tablas dentro de un catálogo. Esto funciona como bases de datos, esquemas o directorios.
Tabla Las tablas contienen definiciones de filas y columnas que se pueden consultar.

Tipos de catálogos compatibles

Cuando configuras tu cliente, especificas una ubicación del almacén. Esta elección determina cómo opera tu catálogo y cómo se integra con otros Google Cloud servicios. En la siguiente tabla, se describen los tipos de catálogos compatibles:

Tipo de catálogo Descripción
Bucket de Cloud Storage Todos los datos de un catálogo se almacenan en un solo bucket de Cloud Storage; para los datos compartidos en varios buckets, se requieren varios catálogos.

Detalles del almacén

Recomendado

  • Usa un bucket de Cloud Storage (gs://): Este es el enfoque estándar en el que el catálogo administra directamente los metadatos y los archivos de datos de Apache Iceberg en un bucket de Cloud Storage que especificas. Esta opción te brinda control directo sobre el diseño de tus datos y admite la venta de credenciales para un control de acceso detallado. Esto te permite crear y administrar tablas de Apache Iceberg a través del catálogo de entorno de ejecución de Lakehouse.

    Por ejemplo, si creaste tu bucket para almacenar tu catálogo y lo llamaste iceberg-bucket, tanto el nombre del catálogo como el del bucket son iceberg-bucket. Esto se usa más adelante cuando consultas tu catálogo en BigQuery con la sintaxis P.C.N.T. Por ejemplo, my-project.lakehouse-catalog-id.quickstart_namespace.quickstart_table.

Alternativa

  • Federa con BigQuery (bq://): Este enfoque te permite usar el extremo del catálogo de REST de Apache Iceberg para administrar y consultar tablas que son visibles para BigQuery sin necesidad de crear un recurso de catálogo. Para obtener más información, consulta Federación de catálogos con BigQuery.

Regiones de buckets y catálogos

Para los almacenes de bucket de Cloud Storage en el catálogo de entorno de ejecución de Lakehouse, el sistema selecciona la región del catálogo para que coincida con la región del bucket subyacente:

  • Buckets de una sola región: La región del catálogo coincide exactamente con la región del bucket.

  • Buckets de dos regiones: Incluye regiones dobles predefinidas y definidas por el usuario, como ASIA1 y NAM4. La región del catálogo coincide con las regiones dobles.

  • Buckets multirregionales: El sistema selecciona ubicaciones regionales para el catálogo dentro del dominio geográfico de la multirregión. De forma predeterminada, es posible que estas ubicaciones no coincidan con las ubicaciones comunes de BigQuery, como US y EU. En cambio, son ubicaciones regionales dentro del dominio geográfico (por ejemplo, us-central1 y us-east4 para un bucket multirregional US).

Cuando BigQuery ejecuta una consulta en tablas de estos catálogos, BigQuery enruta la consulta a la región del catálogo en la región principal. Si ejecutas una consulta en una región virtual específica (como US o EU) y los metadatos del catálogo no están presentes en esa ubicación, es posible que la consulta falle.

Especifica las regiones principales para las multirregiones de EE.UU. y la UE

Para los catálogos que usan un bucket multirregional US o EU, puedes especificar la región principal cuando creas el catálogo para asegurarte de que BigQuery pueda acceder a él desde las regiones correspondientes.

  • Multirregión de la UE de Cloud Storage: Especifica EU o europe-west4.
  • Multirregión de EE.UU. de Cloud Storage: Especifica US o us-central1.

El sistema selecciona una réplica principal del catálogo cuando la creas, pero puedes actualizarla de forma dinámica llamando a FailoverCatalog. Para obtener más información sobre cómo definir ubicaciones principales, consulta Crea un catálogo.

Consulta catálogos desde BigQuery

Cuando consultas tablas del catálogo de entorno de ejecución de Lakehouse desde BigQuery, usas una estructura de nombres de cuatro partes, a menudo denominada como P.C.N.T:

  • Proyecto: Es el ID del proyecto al que pertenece el catálogo. Google Cloud
  • C atálogo: Es el nombre del catálogo de entorno de ejecución de Lakehouse.
  • Nombre del espacio de nombres: Es el espacio de nombres de Apache Iceberg (equivalente a un conjunto de datos de BigQuery).
  • Tabla: Es el nombre de la tabla.

Por ejemplo, my-project.lakehouse-catalog-id.my-namespace.my-table.

Federación de catálogos con BigQuery

Puedes usar la interfaz del extremo del catálogo de REST de Apache Iceberg para administrar y consultar tablas externas a través de la federación de catálogos de BigQuery. En lugar de crear un recurso de catálogo dedicado, BigQuery actúa como una puerta de enlace de federación. Esto te permite enrutar solicitudes a través de BigQuery para interactuar con tus catálogos externos en cualquier proyecto en el que esté habilitada la API de BigQuery. Esto te permite hacer lo siguiente:

Debido a que BigQuery federa el acceso a estos recursos externos, debes tener configurados los permisos necesarios aplicables en BigQuery. Ten en cuenta que la venta de credenciales no es compatible con los catálogos federados.

Para habilitar la federación, consulta Usa la federación de catálogos con BigQuery.

Pasos siguientes