Apache Iceberg テーブルの使用
Athena では、Apache Iceberg テーブルに対して読み込み、タイムトラベル、書き込み、DDL の各クエリがサポートされています。Apache Iceberg テーブルでは、データに Apache Parquet 形式が使用され、メタストアに AWS Glue カタログが使用されています。
Apache Iceberg
Apache Iceberg の詳細については、https://iceberg.apache.org/
考慮事項と制約事項
Athena での Iceberg テーブルのサポートには、次の制限があります。
-
AWS Glue カタログのテーブルのみ – オープンソースの Glue カタログの実装
で定義されている仕様に基づく AWS Glue カタログに対して作成された Iceberg テーブルのみが Athena でサポートされています。 -
AWS Glue によるテーブルロックのサポートのみ – オープンソースの Glue カタログ実装はプラグインのカスタムロックをサポートしますが、Athena は AWS Glue オプティミスティックロックのみをサポートします。Athena を使用して他のロックが実装されている Iceberg テーブルを変更すると、データが失われ、トランザクションが中断する可能性があります。
-
サポートされているファイル形式 - 次の表に示すように、Athena での Iceberg ファイル形式のサポートは、Athena エンジンのバージョンによって異なります。
Athena エンジンバージョン Parquet ORC Avro 2 はい いいえ いいえ 3 はい はい はい -
Iceberg v2 テーブル – Athena は、Iceberg v2 テーブルを作成し、操作します。v1 テーブルと v2 テーブルの違いについては、Apache Iceberg ドキュメントの形式バージョンの変更
を参照してください。 -
タイムゾーンのない時刻型の表示 – タイムゾーンのない時刻型とタイムスタンプ型は UTC で表示されます。時刻の列のフィルター式でタイムゾーンが指定されていない場合は、UTC が使用されます。
-
タイムスタンプ関連のデータの精度 – Iceberg はタイムスタンプデータ型について、マイクロ秒精度をサポートしていますが、Athena は読み込みと書き込みの両方でタイムスタンプに対してミリ秒の精度しかサポートしていません。手動圧縮オペレーション中に書き換えられるデータについて、Athena は、時間関連の列でミリ秒の精度しか保持しません。
-
サポートされていないオペレーション - Iceberg テーブルに対して次の Athena オペレーションはサポートされていません。
-
ビュー - ビューの使用 で説明されているように Athena ビューを作成する場合に
CREATE VIEW
を使用します。Iceberg ビュー仕様を使用してビューを作成することに興味がある場合は、athena-feedback@amazon.com までご連絡ください。 -
AWS Lake Formation でサポートされていない TTF 管理コマンド — Lake Formation を使用して Apache Iceberg、Apache Hudi、Linux Foundation Delta Lake などのトランザクションテーブル形式 (TTF) の読み取りアクセス権限を管理できますが、Lake Formation を使用して
VACUUM
、MERGE
、UPDATE
、OPTIMIZE
など、これらのテーブル形式を使用する操作の権限を管理することはできません。Lake Formation と Athena の統合の詳細については、「AWS Lake Formation 開発者ガイド」の「Amazon Athena での AWS Lake Formation の使用」を参照してください。
Athena でサポートしてほしい機能につきましては、athena-feedback@amazon.com