고려 사항 및 제한
Athena를 사용하여 Apache Hudi 테이블을 읽을 때 다음 사항을 고려하세요.
-
증분 쿼리 - Athena는 증분 쿼리를 지원하지 않습니다.
-
CTAS – Athena는 Hudi 데이터에 대해 CTAS 또는 INSERT INTO을(를) 지원하지 않습니다. Athena가 Hudi 데이터 집합 쓰기를 지원하길 원하시면
<athena-feedback@amazon.com>
에 피드백을 보내세요.Hudi 데이터 쓰기에 대한 자세한 내용은 다음 리소스를 참조하세요.
-
Amazon EMR 릴리스 안내서의 Working with a Hudi dataset(Hudi 데이터 집합 작업).
-
Apache Hudi 설명서의 Writing Data(데이터 쓰기)
.
-
-
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)