Consideraciones y limitaciones
Cuando utilice Athena para leer las tablas de Apache Hudi, tenga en cuenta los siguientes puntos.
-
Operaciones de lectura y escritura: Athena puede leer conjuntos de datos de Hudi compactados, pero no puede escribir datos de Hudi.
-
Versiones de Hudi: Athena es compatible con Hudi versión 0.14.0 (valor predeterminado) y 0.15.0. Athena no puede garantizar la compatibilidad de lectura con tablas que se hayan creado con versiones posteriores de Hudi. Para obtener más información sobre las características y el control de versiones de Hudi, consulte la documentación de Hudi
en el sitio web de Apache. Para utilizar la versión 0.15.0 del conector Hudi, establezca la siguiente propiedad de la tabla: ALTER TABLEtable_nameSET TBLPROPERTIES ('athena_enable_native_hudi_connector_implementation' = 'true') -
Consultas entre cuentas: la versión 0.15.0 del conector Hudi no admite consultas entre cuentas.
-
Tipos de consultas: actualmente, Athena admite consultas de instantáneas y consultas optimizadas de lectura, pero no consultas incrementales. En las tablas MoR, todos los datos expuestos a consultas optimizadas de lectura están compactados. Esto proporciona un buen rendimiento, pero no incluye las últimas confirmaciones delta. Las consultas instantáneas contienen los datos más recientes, pero generan alguna sobrecarga informática, lo que hace que estas consultas sean menos eficientes. Para obtener más información acerca de las ventajas e inconvenientes de los tipos de tablas y consultas, visite Tipos de tablas y de consultas
en la documentación de Apache Hudi. -
Consultas incrementales: Athena no es compatible con las consultas incrementales.
-
CTAS: Athena no es compatible con CTAS ni con INSERT INTO sobre los datos de Hudi. Si desea soporte de Athena para escribir conjuntos de datos de Hudi, envíe sus comentarios a
<athena-feedback@amazon.com>.Para obtener más información sobre cómo escribir datos de Hudi, consulte los siguientes recursos:
-
Uso del conjunto de datos de Hudi en la Guía de publicación de Amazon EMR
-
Escritura de datos
en la documentación de Apache Hudi.
-
-
MSCK REPAIR TABLE: el uso de MSCK REPAIR TABLE en tablas Hudi en Athena no es compatible. Si necesita cargar una tabla Hudi no creada en AWS Glue, utilice ALTER TABLE ADD PARTITION.
-
No se admite la omisión de objetos de Amazon Glacier: si los objetos de la tabla de Apache Hudi se encuentran en una clase de almacenamiento de Amazon Glacier, establecer la propiedad de la tabla
read_restored_glacier_objectsenfalseno tendrá ningún efecto.Suponga, por ejemplo, que ejecuta el siguiente comando:
ALTER TABLEtable_nameSET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')En el caso de las tablas de Iceberg y Delta Lake, el comando produce el error
Clave de propiedad de tabla no compatible: read_restored_glacier_objects. En el caso de las tablas de Hudi, el comandoALTER TABLEno produce ningún error, pero los objetos de Amazon Glacier se mantienen sin omitirse. Al ejecutar consultasSELECTdespués del comandoALTER TABLE, se siguen devolviendo todos los objetos. -
Consultas de marca de tiempo: actualmente, las consultas que intentan leer las columnas de marcas de tiempo en las tablas de tiempo real de Hudi presentan errores o producen resultados vacíos. Esta limitación solo se aplica a las consultas que leen una columna de marca de tiempo. Las consultas que incluyen únicamente columnas de la misma tabla sin marca de tiempo son válidas.
Las consultas con error devuelven un mensaje similar al siguiente:
GENERIC_INTERNAL_ERROR: la clase org.apache.hadoop.io.ArrayWritable no se puede convertir en la clase org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (org.apache.hadoop.io.ArrayWritable y org.apache.hadoop.hive.serde2.io.TimestampWritableV2 están en un módulo sin nombre del cargador io.trino.server.PluginClassLoader @75c67992)