Usar de metadados Hudi para aprimorar a performance - Amazon Athena

Usar de metadados Hudi para aprimorar a performance

O Apache Hudi tem uma tabela de metadados que contém recursos de indexação para melhorar a performance, como listagem de arquivos, possibilidade de ignorar dados usando estatísticas de coluna e um índice baseado em filtro de Bloom.

Desses recursos, o Athena atualmente só é compatível com o índice de listagem de arquivos. O índice de listagem de arquivos elimina chamadas do sistema de arquivos, como "listar arquivos", ao buscar as informações de um índice que mantém uma partição para mapeamento de arquivos. Isso elimina a necessidade de listar recursivamente todas as partições no caminho da tabela para obter uma visão do sistema de arquivos. Quando você trabalha com grandes conjuntos de dados, essa indexação reduz muito a latência que, de outra forma, ocorreria ao obter arquivos durante gravações e consultas. Também evita gargalos, como controle de utilização de solicitações nas chamadas LIST do Amazon S3.

nota

No momento, o Athena não é compatível com a possibilidade de ignorar dados nem com a indexação com filtro de Bloom.

Habilitar tabela de metadados do Hudi

A listagem de arquivos baseada em tabela de metadados é desabilitada por padrão. Para habilitar a tabela de metadados do Hudi e a correspondente funcionalidade de listagem de arquivos, defina a propriedade da tabela hudi.metadata-listing-enabled como TRUE.

Exemplo

O exemplo de ALTER TABLE SET TBLPROPERTIES a seguir habilita a tabela de metadados partition_cow no exemplo.

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

Usar metadados gerados por bootstrap

A partir do Apache Hudi versão 0.6.0, o recurso de operação de bootstrap oferece melhor performance com conjuntos de dados do Parquet existentes. Em vez de reescrever o conjunto de dados, uma operação de bootstrap pode gerar apenas os metadados, sem alterar o conjunto de dados.

Você pode usar o Athena para consultar tabelas de uma operação de bootstrap, assim como as outras tabelas baseadas em dados no Amazon S3. Na instrução CREATE TABLE, especifique o caminho da tabela do Hudi na cláusula LOCATION.

Para obter mais informações sobre como criar tabelas do Hudi usando a operação de bootstrap no Amazon EMR, consulte o artigo New features from Apache Hudi available in Amazon EMR (Novos recursos do Apache Hudi disponíveis no Amazon EMR) no blog da AWS sobre big data.