カタログレベルの自動テーブル最適化の有効化
データカタログ内のすべての新しい Apache Iceberg テーブルの自動テーブル最適化を有効にできます。テーブルを作成すると、テーブル最適化の設定を手動で明示的に更新することもできます。
データカタログの設定を更新してカタログレベルのテーブル最適化を有効にするには、使用する IAM ロールに、ルートカタログに対する glue:UpdateCatalog アクセス許可が必要になります。カタログのプロパティは、GetCatalog API を使用して確認できます。
Lake Formation マネージドテーブルの場合、カタログ最適化設定中に選択した IAM ロールには、新しいテーブルまたは更新されたテーブルに対する Lake Formation ALTER、DESCRIBE、INSERT、および DELETE のアクセス許可が必要です。
-
Lake Formation コンソール (https://console.aws.amazon.com/lakeformation/
) を開きます。 -
ナビゲーションペインで、[データカタログ] を選択します。
-
[カタログ] タブを選択します。
-
アカウントレベルのカタログを選択します。
-
[テーブルの最適化] タブで、[テーブルの最適化]、[編集] を選択します。また、[アクション] で [最適化を編集] を選択することもできます。
-
[テーブルの最適化] ページで、次のオプションを設定します。
-
[圧縮] 設定を構成する:
-
圧縮を有効または無効にします。
-
オプティマイザーを実行するために必要なアクセス許可を持つ IAM ロールを選択します。
IAM ロールに必須のアクセス許可の詳細については、「 テーブル最適化の前提条件 」を参照してください。
-
-
[スナップショットの保持] 設定を構成する:
-
保持を有効または無効にします。
-
スナップショットの保持期間を日単位で設定します。デフォルトは 5 日です。
-
保持するスナップショットの数を設定します。デフォルトはスナップショット 1 個です。
-
期限切れファイルのクリーニングを有効または無効にします。
-
-
[孤立ファイルの削除] 設定を構成する:
-
孤立ファイルの削除を有効または無効にします。
-
孤立ファイルの保持期間を日単位で設定します。デフォルトは 3 日です。
-
-
-
[保存] を選択します。
次の CLI コマンドを使用して、オプティマイザー設定で既存のカタログを更新します。
例 オプティマイザー設定でカタログを更新する
aws glue update-catalog \ --namecatalog-id\ --catalog-input \ '{ "CatalogId": "111122223333", "CatalogInput": { "CatalogProperties": { "CustomProperties": { "ColumnStatistics.Enabled": "false", "ColumnStatistics.RoleArn": "arn:aws:iam::111122223333:role/service-role/stats-role-name" }, "IcebergOptimizationProperties": { "RoleArn": "arn:aws:iam::111122223333:role/optimizer-role-name", "Compaction": { "enabled": "true" }, "Retention": { "enabled": "true", "snapshotRetentionPeriodInDays": "10", "numberOfSnapshotsToRetain": "5", "cleanExpiredFiles": "true" }, "OrphanFileDeletion": { "enabled": "true", "orphanFileRetentionPeriodInDays": "3" } } } } }'
カタログレベルのオプティマイザーで問題が発生した場合は、以下を確認してください。
-
前提条件セクションで説明されているように、IAM ロールに正しいアクセス許可が付与されていることを確認します。
-
オプティマイザーオペレーションに関連するエラーメッセージがないか CloudWatch ログを確認します。
詳細については、「Amazon CloudWatch ユーザーガイド」の「使用可能なメトリクスを表示する」を参照してください。
-
カタログ設定を確認して、カタログ設定が正常に適用されたことを確認します。
-
テーブルアクセスの失敗については、CloudWatch ログと EventBridge 通知で詳細なエラー情報を確認してください。