성능 향상을 위해 Hudi 메타데이터 사용 - Amazon Athena

성능 향상을 위해 Hudi 메타데이터 사용

Apache Hudi에는 파일 목록, 열 통계를 사용한 데이터 건너뛰기, 블룸 필터 기반 인덱스와 같은 성능 향상을 위한 인덱싱 기능이 포함된 메타데이터 테이블이 있습니다.

Athena는 현재 이러한 기능 중 파일 목록 인덱스만 지원합니다. 파일 목록 인덱스는 파일 매핑에 대한 파티션을 유지 관리하는 인덱스에서 정보를 가져와 '파일 나열'과 같은 파일 시스템 호출을 제거합니다. 이렇게 하면 파일 시스템을 보기 위해 테이블 경로 아래에 있는 모든 파티션을 재귀적으로 나열할 필요가 없습니다. 대규모 데이터 세트에 대한 작업을 수행하는 경우 이 인덱싱 기능을 사용하면 쓰기 및 쿼리 중에 파일 목록을 가져올 때 발생할 수 있는 지연 시간이 크게 줄어듭니다. 또한 Amazon S3 LIST 호출에서 요청 한도 제한과 같은 병목 현상을 방지합니다.

참고

Athena는 현재 데이터 건너뛰기 또는 블룸 필터 인덱싱을 지원하지 않습니다.

Hudi 메타데이터 테이블 활성화

메타데이터 테이블 기반 파일 목록은 기본적으로 비활성화되어 있습니다. Hudi 메타데이터 테이블 및 관련 파일 목록 기능을 활성화하려면 hudi.metadata-listing-enabled 테이블 속성을 TRUE로 설정합니다.

다음 ALTER TABLE SET TBLPROPERTIES 예제에서는 예제 partition_cow 테이블의 메타데이터 테이블을 활성화합니다.

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

부트스트랩에서 생성한 메타데이터 사용

Apache Hudi 버전 0.6.0부터 부트스트랩 작업 기능은 기존의 Parquet 데이터 집합에 향상된 성능을 제공합니다. 부트스트랩 작업은 데이터 집합을 다시 작성하는 대신 데이터 집합을 그대로 두고 메타데이터만 생성할 수 있습니다.

Athena를 사용하면 Amazon S3의 데이터를 기반으로 하는 다른 테이블과 마찬가지로 부트스트랩 작업에서 테이블을 쿼리할 수 있습니다. CREATE TABLE 문에서 LOCATION 절에 Hudi 테이블 경로를 지정합니다.

Amazon EMR에서 부트스트랩 작업을 사용하여 Hudi 테이블을 만드는 방법에 대한 자세한 내용은 AWS Big Data Blog(빅 데이터 블로그)의 New features from Apache Hudi available in Amazon EMR(Amazon EMR에서 사용 가능한 Apache Hudi의 새로운 기능) 항목을 참조하세요.