Limitaciones y consideraciones

La integración de Apache Spark y Apache Hive con el catálogo de entorno de ejecución de Lakehouse a través del extremo del catálogo de Apache Hive te permite compartir metadatos unificados y consultar tablas directamente en BigQuery sin mantener un Hive Metastore (HMS) autoalojado.

Antes de migrar o compilar canalizaciones de bases de datos de código abierto en el catálogo de entorno de ejecución de Lakehouse, revisa las restricciones funcionales y las consideraciones del servicio en este documento para determinar si la integración cumple con tus requisitos técnicos. Para obtener instrucciones de configuración y consulta, consulta Configura 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 sin bordes.
  • 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 APIs de token de delegación ni 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.
  • No se admiten las eliminaciones en cascada para las bases de datos y los catálogos de Hive.
  • La compatibilidad con Trino no está disponible.

Limitaciones de tablas

  • No se admite el cambio de nombre de la tabla.
  • No se admite el cambio de nombre de la partición.
  • Borrar tablas o bases de datos no quita 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 bucket.
  • Solo se admiten vistas virtuales.
  • Las tablas de Delta Lake se admiten a través de Apache Spark (lectura y escritura) y BigQuery (solo lectura). Los clientes de Hive (como la CLI de Hive) no admiten tablas de Delta Lake. Se aplican todas las limitaciones de las tablas externas de BigQuery Delta Lake y las limitaciones de las tablas de BigLake. Para obtener más detalles y limitaciones específicas, consulta Configura Spark con tablas de Delta.

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 se limita 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.
  • 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 proporciona replicación entre regiones y recuperación ante desastres para mejorar la disponibilidad y la resiliencia de tu catálogo.

Cuando usas el catálogo de entorno de ejecución de Lakehouse con catálogos de Hive, se aplican las siguientes limitaciones:

  • 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 birregional o multirregional de tu bucket. Esta copia de metadatos secundaria es de solo lectura hasta que la promuevas a principal con una operación de conmutación por error.
  • Durante una conmutación por error, la marca de tiempo replication_time solo realiza un seguimiento de la replicación de metadatos del catálogo, no de si los archivos de datos de Cloud Storage subyacentes terminaron de replicarse en la región secundaria. 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

El 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 Permiso 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?