考量與限制
當您使用 Athena 讀取 Apache Hudi 資料表時,請考慮下列幾點。
-
增量查詢 – Athena 不支援增量查詢。
-
CTAS – Athena 不支援對 Hudi 資料執行 CTAS 或 INSERT INTO。如果您希望 Athena 提供寫入 Hudi 資料集的支援,請將意見回饋傳送至
<athena-feedback@amazon.com>。如需有關寫入 Hudi 資料的詳細資訊,請參閱下列資源:
-
Apache Hudi 文件中的寫入資料
。
-
MSCK REPAIR TABLE – 不支援在 Athena 中對 Hudi 資料表使用 MSCK REPAIR TABLE。如果您需要載入不在 AWS Glue 中建立的 Hudi 資料表,請使用 ALTER TABLE ADD PARTITION。
-
略過不支援的 Amazon Glacier 物件 – 如果 Apache Hudi 資料表中的物件位於 Amazon Glacier 儲存類別中,則將
read_restored_glacier_objects資料表屬性設定為false是無效的。例如,假設您發出下列命令:
ALTER TABLEtable_nameSET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')對於 Iceberg 和 Delta Lake 資料表,此命令會產生錯誤
不支援的資料表屬性索引鍵:read_restored_glacier_objects。對於 Hudi 資料表,ALTER TABLE命令不會產生錯誤,但是 Amazon Glacier 物件仍不會略過。在ALTER TABLE命令繼續傳回所有物件之後執行SELECT查詢。 -
時間戳記查詢 – 目前,嘗試讀取 Hudi 即時資料表中的時間戳記資料欄的查詢可能會失敗,也可能會產生空白結果。此限制僅適用於讀取時間戳記資料欄的查詢。僅包含相同資料表中非時間戳記資料欄的查詢會成功。
失敗的查詢會傳回類似下列瑣所示的訊息:
GENERIC_INTERNAL_ERROR:類別 org.apache.hadoop.io.ArrayWritable 無法轉換為類別 org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (org.apache.hadoop.io.ArrayWritable 和 org.apache.hadoop.hive.serde2.io.TimestampWritableV2 位於載入器 io.trino.server.PluginClassLoader @75c67992 的未命名模組中)