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.
A continuación, puedes consultar la misma tabla de Spark en la console de Google Cloud.
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:
- Formatos de tabla. Apache Iceberg 1.5.2 o una versión posterior
- Dataproc. Versión 2.2 o posterior
- Motores de procesamiento de datos. Spark versión 3.3 o una posterior
- Complementos. Complemento de catálogo de Iceberg de BigQuery Metastore
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étodotabledata.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?
- Cómo migrar datos de Dataproc Metastore al metastore de BigQuery
- Cómo usar el metastore de BigQuery con Dataproc
- Cómo usar el metastore de BigQuery con Dataproc sin servidores