Introducción a metastore de BigLake

BigLake Metastore es un metastore unificado, gestionado, sin servidor y escalable que conecta los datos de lakehouse almacenados en Cloud Storage o BigQuery con varios tiempos de ejecución, incluidos los de código abierto (como Apache Spark y Apache Flink) y BigQuery.

El metastore de BigLake proporciona una única fuente de información veraz para gestionar los metadatos de varios motores. Admite formatos de tabla de código abierto clave, como Apache Iceberg, a través de tablas de BigLake Iceberg y tablas estándar de BigQuery. Además, BigLake Metastore es compatible con APIs abiertas y un catálogo REST de Iceberg (versión preliminar).

Usa la siguiente tabla para determinar por dónde empezar tu recorrido con el metastore de BigLake:

Caso práctico Recomendación
El motor de código abierto necesita acceder a los datos de Cloud Storage. Consulta el catálogo REST de Iceberg (versión preliminar).
El motor de código abierto necesita interoperabilidad con BigQuery. Descubre la integración de metastore de BigLake con motores de código abierto (como Spark) mediante el complemento de catálogo de Iceberg personalizado de BigQuery.

Ventajas

BigLake Metastore ofrece varias ventajas para la gestión y el análisis de datos:

  • Arquitectura sin servidor. BigLake Metastore proporciona una arquitectura sin servidor, por lo que no es necesario gestionar servidores ni clústeres. Esto ayuda a reducir la sobrecarga operativa, simplifica la implementación y permite el escalado automático en función de la demanda.
  • Interoperabilidad del motor. El almacén de metadatos de BigLake te proporciona acceso directo a las tablas en motores de código abierto (como Spark y Flink) y BigQuery, lo que te permite consultar tablas de formato abierto sin necesidad de configuración adicional. Por ejemplo, puedes crear una tabla en Spark y, a continuación, consultarla directamente en BigQuery. De esta forma, se optimiza el flujo de trabajo de analíticas y se reduce la necesidad de llevar a cabo procesos complejos de movimiento de datos o de extracción, transformación y carga (ETL).
  • Experiencia de usuario unificada. El almacén de metadatos de BigLake proporciona un flujo de trabajo unificado en BigQuery y en los motores de código abierto. Esta experiencia unificada te permite configurar un entorno de Spark autogestionado o alojado por Dataproc a través del catálogo REST de Iceberg (versión preliminar) o configurar un entorno de Spark en un cuaderno de BigQuery Studio para hacer lo mismo.

Formatos de tabla en BigLake Metastore

BigLake admite varios tipos de tablas. Usa la siguiente tabla para seleccionar el formato que mejor se adapte a tu caso práctico:

Tablas externas Tablas de Iceberg de BigLake Tablas Iceberg de BigLake en BigQuery Tablas estándar de BigQuery
Metastore Metastore externo o alojado en servidor propio Metastore de BigLake Metastore de BigLake Metastore de BigLake
Almacenamiento Cloud Storage, Amazon S3 y Azure Cloud Storage Cloud Storage BigQuery
Gestión Cliente o tercero Google Google (experiencia altamente gestionada) Google (experiencia más gestionada)
Lectura/escritura Motores de código abierto (lectura y escritura)

BigQuery (solo lectura)
Motores de código abierto (lectura y escritura)

BigQuery (solo lectura)
Motores de código abierto (solo lectura con bibliotecas de Iceberg, interoperabilidad de lectura y escritura con la API Storage de BigQuery)

BigQuery (lectura y escritura)

Motores de código abierto (interoperabilidad de lectura y escritura con la API Storage de BigQuery)

BigQuery (lectura y escritura)

Use cases Migraciones, tablas de almacenamiento provisional para cargas de BigQuery y gestión automática Lakehouse abierto Lakehouse abierto y almacenamiento de nivel empresarial para analíticas, streaming e IA Almacenamiento de nivel empresarial para analíticas, streaming e IA

Diferencias con BigLake Metastore (clásico)

BigLake Metastore es el metastore recomendado en Google Cloud.

Las principales diferencias entre BigLake Metastore y BigLake Metastore (clásico) son las siguientes:

  • BigLake Metastore (clásico) es un servicio de metastore independiente que es distinto de BigQuery y solo admite tablas de Iceberg. Tiene un modelo de recursos de tres partes diferente. Las tablas de metastore de BigLake (clásico) no se descubren automáticamente desde BigQuery.
  • Se puede acceder a las tablas del metastore de BigLake desde varios motores de código abierto y desde BigQuery. BigLake Metastore admite la integración directa con Spark, lo que ayuda a reducir la redundancia al almacenar metadatos y ejecutar tareas. BigLake Metastore también es compatible con el catálogo REST de Iceberg (versión preliminar), que conecta los datos de lakehouse en varios tiempos de ejecución.

Limitaciones

Se aplican las siguientes limitaciones a las tablas del metastore de BigLake:

  • No puedes crear ni modificar tablas de metastore de BigLake con instrucciones DDL o DML mediante el motor de BigQuery. Puedes modificar las tablas de metastore de BigLake con la API de BigQuery (con la herramienta de línea de comandos bq o las bibliotecas de cliente), pero si lo haces, corres el riesgo de hacer cambios que no sean compatibles con el motor externo.
  • Las tablas de metastore de BigLake no admiten operaciones de cambio de nombre ni instrucciones de ALTER TABLE ... RENAME TOSpark SQL.
  • Las tablas de metastore de BigLake están sujetas a las mismas cuotas y límites que las tablas estándar.
  • El rendimiento de las consultas de las tablas de metastore de BigLake desde el motor de BigQuery puede ser lento en comparación con las consultas de datos en una tabla estándar de BigQuery. En general, el rendimiento de las consultas de una tabla de metastore de BigLake debería ser equivalente a la lectura de los datos directamente desde Cloud Storage.
  • Una prueba de una consulta que usa una tabla de metastore de BigLake puede informar de un límite inferior de 0 bytes de datos, aunque se devuelvan filas. Este resultado se produce porque la cantidad de datos que se procesan de la tabla no se puede determinar hasta que se completa la consulta. Al ejecutar la consulta, se incurre en un coste por procesar estos datos.
  • No puedes hacer referencia a una tabla de metastore de BigLake en una consulta de tabla comodín.
  • No puedes usar el método tabledata.list para recuperar datos de las tablas del metastore de BigLake. En su lugar, puede guardar los resultados de la consulta en una tabla de destino y, a continuación, usar el método tabledata.list en esa tabla.
  • Las tablas de metastore de BigLake no admiten el agrupamiento en clústeres.
  • Las tablas de metastore de BigLake no admiten nombres de columna flexibles.
  • No se admite la visualización de estadísticas de almacenamiento de tablas de metastore de BigLake.
  • BigLake Metastore no admite vistas de Iceberg.

Siguientes pasos