Limitaciones y consideraciones

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 Hive Metastore (HMS) autoalojado y, al mismo tiempo, permite el uso compartido de metadatos unificados 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 de Metastore

  • Managed Service para Apache Spark solo admite trabajos de PySpark con Lakehouse Metastore.
  • La API de Dataproc no admite la configuración de propiedades de Lakehouse Metastore 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_uri de 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.

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 su uso en la eliminación de particiones. Está optimizado para lecturas sobre escrituras, lo que genera 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 de la partición por lotes 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<>> ni ARRAY<MAP<>>. Se debe agregar compatibilidad con MAP a una lista de entidades permitidas. Comunícate con biglake-help@google.com si tus cargas de trabajo usan MAP de forma extensiva.
  • Los tipos de claves MAP solo admiten tipos de datos básicos. No puedes usar ARRAY, STRUCT ni MAP como 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.

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_location para 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 de región doble o multirregión de tu bucket. Esta copia de metadatos secundaria es de solo lectura y no puedes promoverla a principal. La redundancia de datos se basa en la configuración de región doble o multirregión 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 de Hive Metastore

La versión preliminar del catálogo de entorno de ejecución de Lakehouse admite un subconjunto de la interfaz de Hive Metastore. Este diseño prioriza la compatibilidad con ExternalCatalog de Spark, que no requiere compatibilidad total con Hive Metastore.

Asignación de recursos

En la siguiente tabla, se asignan los recursos de Hive Metastore a los recursos del catálogo de entorno de ejecución de Lakehouse y sus permisos de Identity and Access Management (IAM) obligatorios.

Recurso de Hive Metastore 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

Hive Metastore (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 BatchCreateHivePartitions limita las llamadas a 900 particiones.

¿Qué sigue?