Uso de los metadatos de Hudi para mejorar el rendimiento - Amazon Athena

Uso de los metadatos de Hudi para mejorar el rendimiento

Apache Hudi tiene una tabla de metadatos que contiene características de indexación para mejorar el rendimiento, como la lista de archivos, la omisión de datos mediante estadísticas de columnas y un índice basado en un filtro de Bloom.

En la actualidad, de estas características, Athena solo admite el índice de listas de archivos. El índice de listas de archivos elimina las llamadas al sistema de archivos, como aquellas destinadas a “enumerar archivos”, ya que obtiene la información de un índice que mantiene una partición para asignar los archivos. Esto elimina la necesidad de enumerar de forma recursiva todas y cada una de las particiones en la ruta de la tabla para obtener una vista del sistema de archivos. Al trabajar con conjuntos de datos de gran tamaño, esta indexación reduce de forma drástica la latencia que, de otro modo, se produciría al obtener la lista de archivos durante las escrituras y consultas. También evita cuellos de botella, como la limitación de los límites de solicitudes en las llamadas LIST de Amazon S3.

nota

Athena no admite la omisión de datos ni la indexación del filtro de Bloom en este momento.

Habilitación de la tabla de metadatos de Hudi

La lista de archivos basada en tablas de metadatos se encuentra deshabilitada de forma predeterminada. Para habilitar la tabla de metadatos de Hudi y la funcionalidad de lista de archivos relacionada, defina la propiedad de la tabla hudi.metadata-listing-enabled en TRUE.

Ejemplo

En el siguiente ejemplo de ALTER TABLE SET TBLPROPERTIES, se habilita la tabla de metadatos de la tabla partition_cow de ejemplo.

ALTER TABLE partition_cow SET TBLPROPERTIES('hudi.metadata-listing-enabled'='TRUE')

Uso de los metadatos generados por el arranque

A partir de la versión 0.6.0 de Apache Hudi, la característica de operación de arranque proporciona un mejor rendimiento con los conjuntos de datos de Parquet existentes. En lugar de volver a escribir el conjunto de datos, una operación de arranque solo puede generar metadatos, lo que deja el conjunto de datos como está.

Athena se puede utilizar para consultar tablas desde una operación de arranque al igual que otras tablas basadas en datos de Amazon S3. En la instrucción CREATE TABLE, especifique la ruta de la tabla Hudi en la cláusula LOCATION.

Para obtener más información sobre cómo crear tablas Hudi mediante la operación de arranque en Amazon EMR, consulte el artículo Nuevas características de Apache Hudi disponibles en Amazon EMR en el Blog de macrodatos de AWS.