![[新機能] AWS Glue が Apache Iceberg ベースのマテリアライズドビューをサポートしました #AWSreInvent](https://images.ctfassets.net/ct0aopd36mqt/33a7q65plkoztFWVfWxPWl/a718447bea0d93a2d461000926d65428/reinvent2025_devio_update_w1200h630.png?w=3840&fm=webp)
[新機能] AWS Glue が Apache Iceberg ベースのマテリアライズドビューをサポートしました #AWSreInvent
クラウド事業本部の石川です。AWS Glue に Apache Iceberg ベースのマテリアライズドビュー機能が追加されました。
従来、データレイク上でマテリアライズドビューを実現するには、ETLジョブの作成、スケジュール管理、差分更新ロジックの実装など、多くの運用負荷がかかっていました。今回の新機能は標準的な Spark SQL 構文でマテリアライズドビューを作成できるようになります。
本記事では、この新機能の概要から技術的な意義、実務での活用方法、そして既存のマテリアライズドビュー機能との使い分けについて解説します。
マテリアライズドビューとは
AWS Glue Data Catalog のマテリアライズドビューは、SQLクエリの事前計算結果を Apache Iceberg 形式で格納し、ソースデータの変更に応じて自動的に更新されるマネージドテーブルです。
特長
マテリアライズドビューは、標準的な Spark SQL 構文を使用し、リフレッシュスケジュールを指定してマテリアライズドビューを作成できます。Data Catalog がリフレッシュスケジュール、変更検知、差分更新、コンピュート基盤の管理をすべて自動で処理します。
Amazon Athena、Amazon EMR、AWS Glue の Spark エンジンが、クエリを自動的にマテリアライズドビューを使用するよう書き換え(クエリリライト)を行います。これにより、最大8倍のパフォーマンス向上とコンピュートコストの削減が見込めます。
マテリアライズドビューは Apache Iceberg テーブルとして、Amazon S3 Tables バケットまたは Amazon S3 汎用バケット内に格納されます。これにより、複数のクエリエンジンからアクセス可能です。
対応バージョン
マテリアライズドビューは以下の環境で作成可能です:
- AWS Glue バージョン 5.1 以降
- Amazon EMR リリース 7.12.0 以降
- Amazon Athena
また、作成したマテリアライズドビューは Iceberg テーブルとしてアクセスできるため、Amazon Redshift からも SQL エディターや Amazon SageMaker ノートブック経由でクエリ可能です。東京リージョンで利用可能なため、日本国内のワークロードにも適用できます。
技術的意義
ETL パイプライン簡素化への貢献
従来のデータパイプラインでは、生データから最終的な分析テーブルに至るまでの変換を、複数のETLジョブとスケジューラーで構築する必要がありました。マテリアライズドビューを活用することで、変換ロジックを宣言的に定義し、更新を Data Catalog に任せることが可能になります。これはデータエンジニアリングの運用負荷を大きく軽減する可能性があります。
クエリリライト機能の実用性
Spark エンジンがクエリを自動的にマテリアライズドビューを使用するよう書き換える機能は、既存のクエリを変更せずにパフォーマンス改善を得られる点で特筆すべき機能です。BIツールやダッシュボードなど、クエリを直接制御できない環境でも恩恵を受けられます。
制約事項
新機能を活用する際は、以下の制約事項を考慮してください。
ソーステーブルの制約
マテリアライズドビューのソースとなるテーブルは Apache Iceberg テーブルである必要があります。他のフォーマット(Parquet、ORC、Hudi、Delta Lake など)のテーブルから直接マテリアライズドビューを作成することはできません。
バージョン要件
マテリアライズドビューを作成するには、AWS Glue 5.1以降、または Amazon EMR 7.12.0 以降が必要です。既存環境をアップグレードする必要があるかもしれません。
クエリリライトの条件
Spark エンジンによるクエリリライトは、クエリリライトは正確性を最優先します。マテリアライズドビューが古くなっている (stale) など、クエリの要件を正確に満たせない場合は、パフォーマンス向上が見込まれても元のクエリがベーステーブルに対して実行されます。
リフレッシュに関する考慮事項
マテリアライズドビューのリフレッシュはマネージドコンピュート基盤で実行されますが、リフレッシュ頻度とコストのトレードオフを考慮する必要があります。高頻度のリフレッシュは鮮度を保ちますが、コンピュートコストが増加します。
最後に
AWS Glue の Apache Iceberg ベースマテリアライズドビュー機能は、データレイクハウスアーキテクチャにおける重要な機能追加です。
ETL パイプラインの簡素化、繰り返しクエリのパフォーマンス向上、マルチエンジンアクセスの実現といったメリットは、多くの利用者にとって価値のあるものです。特に、従来は複数のジョブやスケジューラーで実現していたデータ変換パイプラインを、宣言的なアプローチで管理できるようになる点は運用負荷の軽減に直結します。
一方で、Iceberg テーブルが前提となる制約や、バージョン要件など、導入にあたっての考慮事項もあります。既存環境のアーキテクチャや要件と照らし合わせながら、適切なユースケースで活用していくことをお勧めします。
合わせて読みたい









