Introducción al metastore de BigQuery

El metastore de BigQuery es un metastore completamente administrado para productos de análisis de datos en Google Cloud. Proporciona una única fuente de información para administrar los metadatos de varias fuentes. Se puede acceder al metastore desde BigQuery y varios motores de procesamiento de datos abiertos, por lo que es una herramienta útil para los ingenieros y analistas de datos.

Por ejemplo, puedes usar el metastore de BigQuery como catálogo con motores de consultas de código abierto, como Apache Spark. Las tablas creadas con Spark se pueden consultar con BigQuery sin necesidad de sincronizar tus metadatos.

Beneficios

El metastore de BigQuery ofrece varias ventajas para la administración y el análisis de datos:

  • Arquitectura sin servidores. El almacén de metadatos de BigQuery proporciona una arquitectura sin servidores, lo que elimina la necesidad de administración de servidores o clústeres. Esto ayuda a reducir la sobrecarga operativa, simplifica la implementación y permite el escalamiento automático según la demanda.
  • Interoperabilidad del motor. BigQuery Metastore te proporciona acceso directo a las tablas en BigQuery, lo que te permite consultar tablas de formato abierto almacenadas en BigQuery sin configuración adicional. Por ejemplo, puedes crear una tabla en Spark y, luego, consultarla directamente en BigQuery. Esto ayuda a optimizar tu flujo de trabajo de análisis y reduce la necesidad de realizar procesos complejos de ETL o de transferencia de datos.
  • Experiencia del usuario unificada. BigQuery Metastore proporciona un flujo de trabajo unificado en BigQuery y BigQuery Studio. Esto te permite usar Spark directamente en BigQuery y BigQuery Studio. Por ejemplo:

    Primero, puedes crear una tabla en Spark con un notebook de BigQuery Studio.

    Crea una tabla en BQMS

    A continuación, puedes consultar la misma tabla de Spark en la console de Google Cloud.

    Consulta una tabla en BQMS

Integraciones admitidas

Puedes usar el metastore de BigQuery con la consola de Google Cloud, gcloud CLI o las APIs de REST de BigQuery.

El metastore de BigQuery admite las siguientes integraciones:

Diferencias con BigLake Metastore

BigQuery Metastore es el almacén de metadatos recomendado en Google Cloud.

Las diferencias principales entre el metastore de BigQuery y BigLake Metastore incluyen los siguientes detalles:

  • BigLake Metastore es un servicio de almacén de metadatos independiente que es distinto de BigQuery y solo admite tablas de Iceberg. Tiene un modelo de recursos de tres partes diferente. Las tablas de BigLake no se descubren automáticamente desde BigQuery.

  • El metastore de BigQuery se basa en el catálogo de BigQuery y se integra directamente en BigQuery. Las tablas de BigQuery Metastore son mutables desde varios motores de código abierto, y las mismas tablas se pueden consultar desde BigQuery. Cuando usas BigQuery, solo hay una fuente de información para tus metadatos. Por ejemplo, el metastore de BigQuery admite la integración directa con Spark. Esta integración proporciona un flujo de trabajo más fluido y ayuda a reducir la redundancia cuando se almacenan metadatos y se ejecutan trabajos.

Limitaciones

Se aplican las siguientes limitaciones a las tablas de metastore de BigQuery:

  • No puedes crear ni modificar tablas del metastore de BigQuery con sentencias DDL ni DML con el motor de BigQuery. Puedes modificar las tablas del metastore de BigQuery con la API de BigQuery (con la herramienta de línea de comandos de bq o las bibliotecas cliente), pero hacerlo puede generar cambios incompatibles con el motor externo.
  • Las tablas del metastore de BigQuery no admiten operaciones de cambio de nombre ni instrucciones ALTER TABLE ... RENAME TO de Spark SQL.
  • Las tablas de metastore de BigQuery están sujetas a las mismas cuotas y límites que las tablas estándar.
  • El rendimiento de las consultas de las tablas del metastore de BigQuery desde el motor de BigQuery puede ser lento en comparación con la consulta de datos en una tabla estándar de BigQuery. En general, el rendimiento de las consultas para una tabla de metastore de BigQuery debe ser equivalente a leer los datos directamente desde Cloud Storage.
  • Una ejecución de prueba de una consulta que usa una tabla del metastore de BigQuery puede informar un límite inferior de 0 bytes de datos, incluso si se muestran filas. Este resultado se produce porque la cantidad de datos que se procesan en la tabla no se puede determinar hasta que se completa la consulta real. La ejecución de la consulta genera un costo por procesar estos datos.
  • No puedes hacer referencia a una tabla del metastore de BigQuery en una consulta de tabla comodín.
  • No puedes usar el método tabledata.list para recuperar datos de las tablas del metastore de BigQuery. En su lugar, puedes guardar los resultados de la consulta en una tabla de destino y, luego, usar el método tabledata.list en esa tabla.
  • Las tablas de metastore de BigQuery no admiten el agrupamiento.
  • Las tablas de metastore de BigQuery no son compatibles con los nombres de columnas flexibles.
  • No se admite la visualización de estadísticas de almacenamiento de tablas para las tablas del metastore de BigQuery.

¿Qué sigue?