考慮事項と制限
Athena を利用して Apache Hudi テーブルを読み取る際には、次の点を考慮してください。
-
増分クエリ – Athena は増分クエリをサポートしていません。
-
CTAS – Athena は、Hudi データで CTAS または INSERT INTO をサポートしていません。Athena による Hudi データセットへの書き込みのサポートをご希望の場合は、
<athena-feedback@amazon.com>までフィードバックをお送りください。Hudi データの記述の詳細については、次のリソースを参照してください。
-
Apache Hudi ドキュメントの「Writing Data
」。
-
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 の名前のないモジュール内にあります)