고려 사항 및 제한 - Amazon Athena

고려 사항 및 제한

Athena를 사용하여 Apache Hudi 테이블을 읽을 때 다음 사항을 고려하세요.

  • 증분 쿼리 - Athena는 증분 쿼리를 지원하지 않습니다.

  • CTAS – Athena는 Hudi 데이터에 대해 CTAS 또는 INSERT INTO을(를) 지원하지 않습니다. Athena가 Hudi 데이터 집합 쓰기를 지원하길 원하시면 에 피드백을 보내세요.

    Hudi 데이터 쓰기에 대한 자세한 내용은 다음 리소스를 참조하세요.

  • MSCK REPAIR TABLE – Athena에서는 Hudi 테이블에 MSCK REPAIR TABLE을 사용할 수 없습니다. AWS Glue에서 생성되지 않은 Hudi 테이블 로드해야 할 경우 ALTER TABLE ADD PARTITION을 사용하세요.

  • S3 Glacier 객체 건너뛰기 미지원 – Apache Hudi 테이블의 객체가 Amazon S3 Glacier 스토리지 클래스에 있는 경우 read_restored_glacier_objects 테이블 속성을 false로 설정해도 효과가 없습니다.

    예를 들어 다음과 같은 명령을 실행한다고 가정하겠습니다.

    ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')

    Iceberg 및 Delta Lake 테이블의 경우 이 명령은 지원되지 않는 테이블 속성 키: read_restored_glacier_objects 오류를 생성합니다. Hudi 테이블의 경우 ALTER TABLE 명령은 오류를 생성하지 않지만 여전히 Amazon S3 Glacier 객체를 건너뛰지 않습니다. ALTER TABLE 명령 후에 SELECT 쿼리를 실행하면 계속해서 모든 개체가 반환됩니다.

  • 타임스탬프 쿼리 — 현재 Hudi 실시간 테이블의 타임스탬프 열을 읽으려고 시도하는 쿼리는 실패하거나 빈 결과를 생성합니다. 이 제한은 타임스탬프 열을 읽는 쿼리에만 적용됩니다. 동일한 테이블의 타임스탬프가 아닌 열만 포함하는 쿼리는 성공합니다.

    쿼리가 실패하면 다음과 유사한 메시지가 반환됩니다.

    GENERIC_INTERNAL_ERROR: class org.apache.hadoop.io.ArrayWritable cannot be cast to class org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (org.apache.hadoop.io.ArrayWritable and org.apache.hadoop.hive.serde2.io.TimestampWritableV2 are in unnamed module of loader io.trino.server.PluginClassLoader @75c67992)