Introducción a BigLake Metastore
BigLake Metastore es un metastore unificado, administrado, sin servidores y escalable que conecta los datos de lakehouse almacenados en Cloud Storage o BigQuery a varios tiempos de ejecución, incluidos los tiempos de ejecución de código abierto (como Apache Spark y Apache Flink) y BigQuery.
El almacén de metadatos de BigLake proporciona una sola fuente de información para administrar los metadatos de varios motores. Admite formatos de tablas de código abierto clave, como Apache Iceberg, a través de las tablas de BigLake Iceberg y las tablas estándar de BigQuery. Además, BigLake Metastore admite APIs abiertas y un catálogo de Iceberg REST (versión preliminar).
Usa la siguiente tabla para determinar dónde comenzar tu recorrido por BigLake Metastore:
Caso práctico | Recomendación |
---|---|
El motor de código abierto necesita acceder a los datos en Cloud Storage. | Explora el catálogo de REST de Iceberg (versión preliminar). |
El motor de código abierto necesita interoperabilidad con BigQuery. | Explora la integración del almacén de metadatos de BigLake con motores de código abierto (como Spark) con el complemento del catálogo de Iceberg personalizado de BigQuery. |
Beneficios
BigLake Metastore ofrece varias ventajas para la administración y el análisis de datos:
- Arquitectura sin servidores. BigLake Metastore proporciona una arquitectura sin servidores, lo que elimina la necesidad de administrar servidores o clústeres. Esto ayuda a reducir la sobrecarga operativa, simplifica la implementación y permite el ajuste de escala automático según 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 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 procesos complejos de ETL o movimiento de datos.
Experiencia del usuario unificada. El almacén de metadatos de BigLake proporciona un flujo de trabajo unificado en BigQuery y los motores de código abierto. Esta experiencia unificada significa que puedes configurar un entorno de Spark autohospedado o hospedado por Dataproc a través del catálogo de REST de Iceberg (versión preliminar) o puedes configurar un entorno de Spark en un notebook de BigQuery Studio para hacer lo mismo.
Por ejemplo, en BigQuery Studio, puedes crear una tabla en Spark con un notebook de BigQuery Studio.
Luego, puedes consultar la misma tabla de Spark en la consola deGoogle Cloud .
Formatos de tablas en BigLake Metastore
BigLake admite varios tipos de tablas. Usa la siguiente tabla para seleccionar el formato que mejor se adapte a tu caso de uso:
Tablas externas | Tablas de BigLake Iceberg | Tablas de BigLake Iceberg en BigQuery | Tablas estándar de BigQuery | |
---|---|---|---|---|
Metastore | Metastore externo o autoalojado | BigLake Metastore | BigLake Metastore | BigLake Metastore |
Almacenamiento | Cloud Storage, Amazon S3 y Azure | Cloud Storage | Cloud Storage | BigQuery |
Administración | Cliente o tercero | Google (experiencia altamente administrada) | Google (experiencia más administrada) | |
Lectura y 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 de BigQuery Storage)
BigQuery (lectura y escritura) |
Motores de código abierto (interoperabilidad de lectura y escritura con la API de BigQuery Storage) BigQuery (lectura y escritura) |
Casos de uso | Migraciones, tablas de etapa intermedia para cargas de BigQuery y autoadministración | Open lakehouse | Lakehouse abierto y almacenamiento de nivel empresarial para análisis, transmisión y IA | Almacenamiento de nivel empresarial para análisis, transmisión y 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) incluyen los siguientes detalles:
- BigLake Metastore (clásico) es un servicio de almacén de metadatos independiente que se distingue de BigQuery y solo admite tablas de Iceberg. Tiene un modelo de recursos de tres partes diferente. Las tablas del metastore de BigLake (clásico) no se descubren automáticamente desde BigQuery.
- Se puede acceder a las tablas en el metastore de BigLake desde varios motores de código abierto y BigQuery. El metastore de BigLake admite la integración directa con Spark, lo que ayuda a reducir la redundancia cuando almacenas metadatos y ejecutas trabajos. BigLake Metastore también admite el catálogo de REST de Iceberg (vista previa), que conecta los datos del lakehouse en varios tiempos de ejecución.
Limitaciones
Se aplican las siguientes limitaciones a las tablas en BigLake Metastore:
- No puedes crear ni modificar tablas de metastore de BigLake con instrucciones DDL o DML usando el motor de BigQuery. Puedes modificar las tablas del metastore de BigLake con la API de BigQuery (con la herramienta de línea de comandos de bq o las bibliotecas cliente), pero, si lo haces, corres el riesgo de realizar cambios que sean incompatibles con el motor externo.
- Las tablas de BigLake Metastore no admiten operaciones de cambio de nombre ni instrucciones de
ALTER TABLE ... RENAME TO
Spark SQL. - Las tablas de BigLake Metastore 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 BigLake 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 BigLake Metastore 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 BigLake 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 desde 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 de BigLake Metastore en una consulta de tabla comodín.
- No puedes usar el método
tabledata.list
para recuperar datos de las tablas de BigLake Metastore. 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 BigLake Metastore no admiten el agrupamiento en clústeres.
- Las tablas de metastore de BigLake no admiten nombres de columnas flexibles.
- No se admite la visualización de estadísticas de almacenamiento de tablas para las tablas de BigLake Metastore.
¿Qué sigue?
- Migra datos de Dataproc Metastore a BigLake Metastore
- Usa BigLake Metastore con Dataproc
- Usa BigLake Metastore con Dataproc sin servidores