Uso de los metadatos de Hudi para mejorar el rendimiento
Apache Hudi tiene una tabla de metadatos
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