La integración de Spark y Hive con el catálogo de entorno de ejecución de Lakehouse elimina la sobrecarga operativa de mantener un almacén de metadatos de Hive (HMS) autoalojado y, al mismo tiempo, permite el uso compartido unificado de metadatos y las consultas directas de tablas en BigQuery.
En este documento, se destacan las restricciones funcionales y las consideraciones de servicio de esta integración. Antes de migrar o compilar tus canalizaciones de bases de datos de código abierto en el catálogo de entorno de ejecución de Lakehouse, revisa estas limitaciones para determinar si esta versión preliminar cumple con tus requisitos técnicos.
Si buscas instrucciones de configuración y consulta en lugar de límites, consulta Usa Spark y Hive con el catálogo de entorno de ejecución de Lakehouse.
Limitaciones del catálogo de entorno de ejecución de Lakehouse
En esta sección, se enumeran las limitaciones del uso del catálogo de entorno de ejecución de Lakehouse con varios servicios.
Limitaciones del almacén de metadatos
- Managed Service para Apache Spark solo admite trabajos de PySpark con el almacén de metadatos de Lakehouse sin bordes.
- La API de Dataproc no admite la configuración de propiedades del almacén de metadatos de Lakehouse en el campo
properties. - No puedes crear clústeres de Managed Service para Apache Spark que usen Kerberos, ya que el catálogo de entorno de ejecución de Lakehouse no admite el token de delegación ni las APIs de clave primaria.
- Las bases de datos y las tablas pueden usar un
location_uride Cloud Storage que sea distinto de su catálogo de Hive, siempre que el bucket de Cloud Storage esté en la misma región que el catálogo de Hive. - El catálogo de Hive no puede contener espacios de nombres ni tablas de Iceberg. Para crear y usar espacios de nombres y tablas de Iceberg, usa el catálogo de entorno de ejecución de Lakehouse.
Limitaciones de tablas
- No se admite el cambio de nombre de la tabla.
- No se admite el cambio de nombre de la partición.
- Si borras tablas o bases de datos, no se quitarán los archivos asociados de Cloud Storage.
- No se admite la búsqueda que no distingue mayúsculas de minúsculas.
- No se admiten el agrupamiento en clústeres ni el agrupamiento en buckets.
- No se admiten las vistas de tablas.
Tamaño del lote de particiones
El catálogo de entorno de ejecución de Lakehouse admite el almacenamiento y la recuperación de información de partición para usar en la eliminación de particiones. Está optimizado para lecturas sobre escrituras, lo que da como resultado un rendimiento de consultas más rápido a través de la eliminación de particiones.
Para optimizar el rendimiento de la ingesta de particiones, el tamaño del lote de particiones está limitado a 900.
Establece la siguiente configuración para las propiedades de Hive y Spark que determinan el tamaño del lote de las operaciones de partición:
SET hive.msck.repair.batch.size = 900;SET spark.sql.addPartitionInBatch.size = 900;
Limitaciones de BigQuery
- De forma predeterminada, BigQuery no admite los tipos de datos
ARRAY<ARRAY<>>niARRAY<MAP<>>. Se debe agregar compatibilidad conMAPa una lista de entidades permitidas. Comunícate con biglake-help@google.com si tus cargas de trabajo usanMAPde forma extensiva. - Los tipos de claves
MAPsolo admiten tipos de datos básicos. No puedes usarARRAY,STRUCTniMAPcomo tipos de claves. - Durante la versión preliminar, BigQuery solo puede consultar datos de Cloud Storage. Se aplican las siguientes limitaciones:
- Los URIs de ubicación de la tabla no pueden incluir un comodín (
*). - Los URIs de ubicación de la tabla deben ser directorios.
- Los URIs de ubicación de la tabla no pueden incluir un comodín (
Limitaciones de la replicación entre regiones y la recuperación ante desastres
El catálogo de entorno de ejecución de Lakehouse ofrece replicación entre regiones y recuperación ante desastres para mejorar la disponibilidad y la resiliencia de tu catálogo.
Cuando se usa el catálogo de entorno de ejecución de Lakehouse con catálogos de Hive, se aplican las siguientes limitaciones:
Los catálogos de Hive no proporcionan capacidades completas de recuperación ante desastres, como la conmutación por error iniciada por el usuario.
Cuando creas un catálogo de Hive, debes configurar su
primary_locationpara que coincida con la región de tu bucket de Cloud Storage. Luego, el catálogo de entorno de ejecución de Lakehouse copia automáticamente los metadatos a una región secundaria según la configuración birregional o multirregional de tu bucket. Esta copia de metadatos secundaria es de solo lectura y no puedes ascenderla a principal. La redundancia de datos depende de la configuración birregional o multirregional de tu bucket, que está separada de la replicación de metadatos del catálogo de entorno de ejecución de Lakehouse.
Consideraciones para usar el catálogo de entorno de ejecución de Lakehouse como reemplazo del almacén de metadatos de Hive
La versión preliminar del catálogo de entorno de ejecución de Lakehouse admite un subconjunto de la interfaz del almacén de metadatos de Hive. Este diseño prioriza la compatibilidad con ExternalCatalog de Spark, que no requiere compatibilidad total con el almacén de metadatos de Hive.
Asignación de recursos
En la siguiente tabla, se asignan los recursos del almacén de metadatos de Hive a los recursos del catálogo de entorno de ejecución de Lakehouse y sus permisos de Identity and Access Management (IAM) obligatorios.
| Recurso del almacén de metadatos de Hive | Recurso del catálogo de entorno de ejecución de Lakehouse | Permisos de IAM |
|---|---|---|
| Catálogo | Catálogo | biglake.catalogs.* |
| Base de datos | Base de datos | biglake.namespaces.* |
| Tabla | Tabla | biglake.tables.* |
Administración
El almacén de metadatos de Hive (HMS) proporciona administración a nivel de tabla, columna y partición. El catálogo de entorno de ejecución de Lakehouse proporciona permisos de IAM a nivel de tabla y partición. No se admite la administración a nivel de columna.
Limitaciones de almacenamiento
- Se aplican todas las limitaciones de las tablas externas de BigQuery.
Limitaciones de partición
- No se admite el seguimiento de estadísticas a nivel de columna en el nivel de partición.
- La API de
BatchCreateHivePartitionslimita las llamadas a 900 particiones.