トランザクションテーブルへのデータ入力と管理
Apache Iceberg
次の方法を使用して、AWS Glue Data Catalog で Iceberg、Hudi、および Delta Lake の各テーブルにデータを入力できます。
-
AWS Glue クローラー – AWS Glue クローラー は、Iceberg、Hudi、Delta Lake のテーブルメタデータを自動的に検出してデータカタログに入力できます。詳細については、「クローラーを使用したデータカタログへの入力 」を参照してください。
-
AWS Glue ETL ジョブ – ETL ジョブを作成して Iceberg、Hudi、Delta Lake の各テーブルにデータを書き込み、そのメタデータをデータカタログに入力できます。詳細については、「AWS Glue ETL ジョブでのデータレイクフレームワークの使用」を参照してください。
-
AWS Glue コンソール、AWS Lake Formationコンソール、AWS CLI または API – AWS Glue コンソール、Lake Formation コンソール、または API を使用して、データカタログに Iceberg テーブル定義を作成し、管理できます。
Apache Iceberg テーブルの作成
Amazon S3 に格納されたデータにより、AWS Glue Data Catalog で Apache Parquet データ形式を使用する Apache Iceberg テーブルを作成できます。Data Catalog のテーブルは、データストア内のデータを表すメタデータ定義です。デフォルトでは、AWS Glue は Iceberg v2 テーブルを作成します。v1 テーブルと v2 テーブルの違いについては、Apache Iceberg ドキュメントの「形式バージョンの変更
Apache Iceberg
AWS Glue または Lake Formation コンソールあるいは AWS Glue API の CreateTable
オペレーションを使用して、データカタログに Iceberg テーブルを作成することができます。詳細については、「CreateTable アクション (Python: create_table)」を参照してください。
Data Catalog に Iceberg テーブルを作成する場合、読み取りと書き込みを実行できるように、Amazon S3 でテーブル形式とメタデータファイルのパスを指定する必要があります。
Amazon S3 のデータロケーションを AWS Lake Formation に登録すると、Lake Formation を使用してきめ細かなアクセス制御の許可により Iceberg テーブルを保護できます。Amazon S3 のソースデータと、Lake Formation に登録されていないメタデータへのアクセスは、Amazon S3 および AWS Glue アクションの IAM アクセス許可ポリシーによって決定されます。詳細については、「アクセス許可の管理」を参照してください。
注記
Data Catalog は、パーティションの作成と Iceberg テーブルプロパティの追加をサポートしていません。
前提条件
Data Catalog に Iceberg テーブルを作成し、Lake Formation のデータアクセス許可を設定するには、次の要件を満たす必要があります。
-
Lake Formation にデータが登録されていない状態で Iceberg テーブルを作成するために必要なアクセス許可。
Data Catalog にテーブルを作成するために必要なアクセス許可に加えて、テーブル作成者には次のアクセス許可が必要です。
リソース arn:aws:s3:::{bucketName} での
s3:PutObject
-
リソース arn:aws:s3:::{bucketName} での
s3:GetObject
-
リソース arn:aws:s3:::{bucketName} での
s3:DeleteObject
-
Lake Formation にデータが登録されている状態で Iceberg テーブルを作成するために必要なアクセス許可:
Lake Formation を使用してデータレイク内のデータを管理および保護するには、テーブルのデータを含む Amazon S3 ロケーションを Lake Formation に登録します。これは、Lake Formation が Athena、Redshift Spectrum、Amazon EMR などの AWS 分析サービスに認証情報を提供して、データにアクセスできるようにするためです。Amazon S3 ロケーションの登録の詳細については、「データレイクへの Amazon S3 ロケーションの追加」を参照してください。
Lake Formation に登録されている、基盤となるデータを読み書きするプリンシパルには、次のアクセス許可が必要です。
-
lakeformation:GetDataAccess
-
DATA_LOCATION_ACCESS
ロケーションに対するデータロケーション許可を持つプリンシパルは、すべての子ロケーションに対するロケーション許可も持っています。
データロケーション許可の詳細については、「基盤となるデータのアクセスコントロール」を参照してください。
-
圧縮を有効にするには、Data Catalog 内のテーブルを更新するアクセス許可を持つ IAM ロールを、サービスが引き受ける必要があります。詳細については、「 テーブル最適化の前提条件 」を参照してください。
Iceberg テーブルの作成
このページに記載されているように、AWS Glue または Lake Formation コンソールあるいは AWS Command Line Interface を使用して Iceberg v1 および v2 テーブルを作成できます。AWS Glue クローラー を使用して Iceberg テーブルを作成することもできます。詳細については、「AWS Glue デベロッパーガイド」の「Data Catalog とクローラー」を参照してください。
Iceberg テーブルを作成するには