テーブルオプティマイザー API
テーブルオプティマイザー API は、圧縮を有効にして読み取りパフォーマンスを改善するための AWS Glue API の説明を記述します。
データ型
TableOptimizer の構造
テーブルに関連付けられたオプティマイザーに関する詳細が含まれます。
フィールド
-
type– UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。有効な値は以下のとおりです。
-
compaction: テーブルオプティマイザーで圧縮を管理する場合。 -
retention: テーブルオプティマイザーでスナップショットの保持を管理する場合。 -
orphan_file_deletion: テーブルオプティマイザーで孤立ファイルの削除を管理する場合。
-
-
configuration– TableOptimizerConfiguration オブジェクト。テーブルオプティマイザーを作成または更新する際に指定された
TableOptimizerConfigurationオブジェクト。 -
lastRun– TableOptimizerRun オブジェクト。テーブルオプティマイザーの前回の実行を表す
TableOptimizerRunオブジェクト。 -
configurationSource– UTF-8 文字列 (有効な値:catalog="CATALOG"|table="TABLE")。オプティマイザー設定のソースを指定します。これは、テーブルオプティマイザーがどのように設定されたか、および設定を開始したエンティティまたはサービスを示します。
TableOptimizerConfiguration の構造
テーブルオプティマイザーの設定に関する詳細が含まれます。テーブルオプティマイザーを作成または更新する際に、この設定を渡します。
フィールド
-
roleArn- UTF-8 文字列。20 ~ 2,048 バイト長。Single-line string pattern に一致。呼び出し元によって渡されるロール。このロールは、呼び出し元に代わってオプティマイザーに関連付けられたリソースを更新するための許可をサービスに付与します。
-
enabled– ブール。テーブル最適化が有効かどうか。
-
vpcConfiguration– TableOptimizerVpcConfiguration オブジェクト。テーブルオプティマイザーの VPC の設定を表す
TableOptimizerVpcConfigurationオブジェクト。この設定は、カスタマー VPC 内のテーブルを最適化するために必要です。
-
compactionConfiguration– CompactionConfiguration オブジェクト。圧縮オプティマイザの設定。この設定は、クエリのパフォーマンスを向上させ、ストレージコストを削減するために、テーブル内のデータファイルを圧縮する方法を定義します。
-
retentionConfiguration– RetentionConfiguration オブジェクト。スナップショット保持オプティマイザー用の設定。
-
orphanFileDeletionConfiguration– OrphanFileDeletionConfiguration オブジェクト。孤立ファイル削除オプティマイザー用の設定。
TableOptimizerVpcConfiguration 構造
テーブルオプティマイザーの VPC 設定を記述するオブジェクト。
この設定は、カスタマー VPC 内のテーブルを最適化するために必要です。
フィールド
-
glueConnectionName– UTF-8 文字列、少なくとも 1 バイト長。テーブルオプティマイザーの VPC に使用される AWS Glue 接続の名前。
CompactionConfiguration 構造
圧縮オプティマイザの設定。この設定は、クエリのパフォーマンスを向上させ、ストレージコストを削減するために、テーブル内のデータファイルを圧縮する方法を定義します。
フィールド
-
icebergConfiguration– IcebergCompactionConfiguration オブジェクト。Iceberg 圧縮オプティマイザの設定。
IcebergCompactionConfiguration 構造
Iceberg 圧縮オプティマイザの設定。この設定は、Iceberg テーブルのデータファイルのレイアウトを最適化するためのパラメータを定義します。
フィールド
-
strategy– UTF-8 文字列 (有効な値:binpack="BINPACK"|sort="SORT"|z-order="ZORDER")。圧縮に使用する戦略。次の値を指定できます:
-
binpack: 小さなファイルを大きなファイルに結合します。通常は 100MB を超えるサイズをターゲットにしながら、保留中の削除を適用します。これは、ほとんどのユースケースで推奨される圧縮戦略です。 -
sort: 圧縮中に階層的にソートされる指定された列に基づいてデータを整理し、フィルタリングされた操作のクエリパフォーマンスを向上させます。この戦略は、クエリが特定の列を頻繁にフィルタリングする場合に推奨されます。この戦略を使用するには、まずsort_orderテーブルプロパティを使用して Iceberg テーブルプロパティでソート順序を定義する必要があります。 -
z-order: ソートに使用できる単一のスカラー値に複数の属性を統合することでデータ整理を最適化し、複数のディメンションにまたがって効率的なクエリを実行できるようにします。この戦略は、複数のディメンションにまたがるデータを同時にクエリする必要がある場合に推奨します。この戦略を使用するには、まずsort_orderテーブルプロパティを使用して Iceberg テーブルプロパティでソート順序を定義する必要があります。
入力が指定されていない場合は、デフォルト値の 'binpack' が使用されます。
-
-
minInputFiles– 数値 (整数)。圧縮前にパーティションに存在する必要があるデータファイルの最小数を指定します。この数に達したときに実際にファイルを圧縮します。このパラメータは、圧縮がトリガーされるタイミングを制御し、ファイルが少ないパーティションでの不要な圧縮操作を防ぐのに役立ちます。入力が指定されていない場合は、デフォルト値の 100 が使用されます。
-
deleteFileThreshold– 数値 (整数)。圧縮の対象となるためにデータファイルに存在する必要がある削除の最小数。このパラメータは、多数の削除操作を含むファイルに焦点を当てることで圧縮を最適化するのに役立ちます。これにより、削除されたレコードを削除することでクエリのパフォーマンスを向上させることができます。入力が指定されていない場合は、デフォルト値の 1 が使用されます。
TableOptimizerRun の構造
テーブルオプティマイザーの実行の詳細が含まれます。
フィールド
-
eventType– UTF-8 文字列 (有効な値:starting="STARTING"|completed="COMPLETED"|failed="FAILED"|in_progress="IN_PROGRESS")。テーブルオプティマイザーの実行のステータスを表すイベントタイプ。
-
startTimestamp– タイムスタンプ。Lake Formation 内で圧縮ジョブが開始された時点のエポックタイムスタンプを表します。
-
endTimestamp– タイムスタンプ。圧縮ジョブが終了した時点のエポックタイムスタンプを表します。
-
metrics– RunMetrics オブジェクト。オプティマイザーの実行のメトリクスを含む
RunMetricsオブジェクト。このメンバーは廃止されました。圧縮、保持、孤立ファイルの削除については、個々のメトリクスメンバーを参照してください。
-
error– UTF–8 文字列。オプティマイザーの実行中に発生したエラー。
-
compactionMetrics– CompactionMetrics オブジェクト。オプティマイザーの実行のメトリクスを含む
CompactionMetricsオブジェクト。 -
compactionStrategy– UTF-8 文字列 (有効な値:binpack="BINPACK"|sort="SORT"|z-order="ZORDER")。圧縮実行に使用される戦略。圧縮プロセス中にファイルがどのように選択および組み合わされたかを判断するために適用されたアルゴリズムを示します。次の値を指定できます:
-
binpack: 小さなファイルを大きなファイルに結合します。通常は 100MB を超えるサイズをターゲットにしながら、保留中の削除を適用します。これは、ほとんどのユースケースで推奨される圧縮戦略です。 -
sort: 圧縮中に階層的にソートされる指定された列に基づいてデータを整理し、フィルタリングされた操作のクエリパフォーマンスを向上させます。この戦略は、クエリが特定の列を頻繁にフィルタリングする場合に推奨されます。この戦略を使用するには、まずsort_orderテーブルプロパティを使用して Iceberg テーブルプロパティでソート順序を定義する必要があります。 -
z-order: ソートに使用できる単一のスカラー値に複数の属性を統合することでデータ整理を最適化し、複数のディメンションにまたがって効率的なクエリを実行できるようにします。この戦略は、複数のディメンションにまたがるデータを同時にクエリする必要がある場合に推奨します。この戦略を使用するには、まずsort_orderテーブルプロパティを使用して Iceberg テーブルプロパティでソート順序を定義する必要があります。
-
-
retentionMetrics– RetentionMetrics オブジェクト。オプティマイザーの実行のメトリクスを含む
RetentionMetricsオブジェクト。 -
orphanFileDeletionMetrics– OrphanFileDeletionMetrics オブジェクト。オプティマイザーの実行のメトリクスを含む
OrphanFileDeletionMetricsオブジェクト。
BatchGetTableOptimizerEntry の構造
BatchGetTableOptimizer オペレーションで取得するテーブルオプティマイザーを表します。
フィールド
-
catalogId– カタログ ID 文字列、1~255 バイト長、「Single-line string pattern」に一致。テーブルのカタログ ID。
-
databaseName– UTF-8 文字列、少なくとも 1 バイト長。テーブルが存在するカタログのデータベースの名前。
-
tableName– UTF-8 文字列、少なくとも 1 バイト長。テーブルの名前。
-
type– UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
BatchTableOptimizer の構造
BatchGetTableOptimizer オペレーションによって返されたいずれかのテーブルオプティマイザーの詳細が含まれます。
フィールド
-
catalogId– カタログ ID 文字列、1~255 バイト長、「Single-line string pattern」に一致。テーブルのカタログ ID。
-
databaseName– UTF-8 文字列、少なくとも 1 バイト長。テーブルが存在するカタログのデータベースの名前。
-
tableName– UTF-8 文字列、少なくとも 1 バイト長。テーブルの名前。
-
tableOptimizer– TableOptimizer オブジェクト。テーブルオプティマイザーの設定と前回の実行に関する詳細を含む
TableOptimizerオブジェクト。
BatchGetTableOptimizerError の構造
BatchGetTableOptimizer オペレーションによって返されたエラーリスト内のいずれかのエラーに関する詳細が含まれます。
フィールド
-
error– ErrorDetail オブジェクト。エラーに関するコードとメッセージの詳細を含む
ErrorDetailオブジェクト。 -
catalogId– カタログ ID 文字列、1~255 バイト長、Single-line string pattern に一致。テーブルのカタログ ID。
-
databaseName– UTF-8 文字列、少なくとも 1 バイト長。テーブルが存在するカタログのデータベースの名前。
-
tableName– UTF-8 文字列、少なくとも 1 バイト長。テーブルの名前。
-
type– UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
RetentionConfiguration 構造
スナップショット保持オプティマイザー用の設定。
フィールド
-
icebergConfiguration– IcebergRetentionConfiguration オブジェクト。Iceberg スナップショット保持オプティマイザー用の設定。
IcebergRetentionConfiguration 構造
Iceberg スナップショット保持オプティマイザー用の設定。
フィールド
-
snapshotRetentionPeriodInDays– 数値 (整数)。Iceberg スナップショットを保持する日数。入力が指定されていない場合は、対応する Iceberg テーブルの設定フィールドが使用されます。存在しない場合は、デフォルト値の 5 が使用されます。
-
numberOfSnapshotsToRetain– 数値 (整数)。保持期間内に保持する Iceberg スナップショットの数。入力が指定されていない場合は、対応する Iceberg テーブルの設定フィールドが使用されます。存在しない場合は、デフォルト値の 1 が使用されます。
-
cleanExpiredFiles– ブール。false に設定すると、スナップショットはテーブルメタデータからのみ削除され、基になるデータとメタデータファイルは削除されません。
-
runRateInHours– 数値 (整数)。保持ジョブの実行間隔 (時間単位)。このパラメータは、保持オプティマイザーを実行して期限切れのスナップショットをクリーンアップする頻度を制御します。3~168 時間 (7 日間) の間で値を指定する必要があります。入力が指定されていない場合は、デフォルト値の 24 が使用されます。
OrphanFileDeletionConfiguration 構造
孤立ファイル削除オプティマイザー用の設定。
フィールド
-
icebergConfiguration– IcebergOrphanFileDeletionConfiguration オブジェクト。Iceberg 孤立ファイル削除オプティマイザー用の設定。
IcebergOrphanFileDeletionConfiguration 構造
Iceberg 孤立ファイル削除オプティマイザー用の設定。
フィールド
-
orphanFileRetentionPeriodInDays– 数値 (整数)。ファイルを削除する前に孤立ファイルを保持する日数。入力が指定されていない場合は、デフォルト値の 3 が使用されます。
-
location– UTF–8 文字列。ファイルを検索するディレクトリを指定します (デフォルトはテーブルの場所です)。最上位のテーブルの場所ではなく、サブディレクトリを選択することができます。
-
runRateInHours– 数値 (整数)。孤立ファイルの削除ジョブの実行間隔 (時間単位)。このパラメータは、孤立ファイルの削除オプティマイザーを実行して孤立ファイルをクリーンアップする頻度を制御します。3~168 時間 (7 日間) の間で値を指定する必要があります。入力が指定されていない場合は、デフォルト値の 24 が使用されます。
CompactionMetrics 構造
オプティマイザーの実行の圧縮メトリクスを含む構造。
フィールド
-
IcebergMetrics– IcebergCompactionMetrics オブジェクト。オプティマイザーの実行の Iceberg 圧縮メトリクスを含む構造。
RetentionMetrics 構造
オプティマイザーの実行の保持メトリクスを含む構造。
フィールド
-
IcebergMetrics– IcebergRetentionMetrics オブジェクト。オプティマイザーの実行の Iceberg 保持メトリクスを含む構造。
OrphanFileDeletionMetrics 構造
オプティマイザーの実行の孤立ファイル削除メトリクスを含む構造。
フィールド
-
IcebergMetrics– IcebergOrphanFileDeletionMetrics オブジェクト。オプティマイザーの実行の Iceberg 孤立ファイル削除メトリクスを含む構造。
IcebergCompactionMetrics 構造
オプティマイザーの実行の Iceberg の圧縮メトリクス。
フィールド
-
DpuHours– 数値 (double)。ジョブによって消費された DPU 時間数。
-
NumberOfDpus– 数値 (整数)。ジョブによって消費された DPU の数。最近似の整数に切り上げられます。
-
JobDurationInHour– 数値 (double)。ジョブの実行時間 (単位: 時間)。
IcebergRetentionMetrics 構造
オプティマイザーの実行の Iceberg のスナップショット保持メトリクス。
フィールド
-
DpuHours– 数値 (double)。ジョブによって消費された DPU 時間数。
-
NumberOfDpus– 数値 (整数)。ジョブによって消費された DPU の数。最近似の整数に切り上げられます。
-
JobDurationInHour– 数値 (double)。ジョブの実行時間 (単位: 時間)。
IcebergOrphanFileDeletionMetrics 構造
オプティマイザーの実行の Iceberg の孤立ファイル削除メトリクス。
フィールド
-
DpuHours– 数値 (double)。ジョブによって消費された DPU 時間数。
-
NumberOfDpus– 数値 (整数)。ジョブによって消費された DPU の数。最近似の整数に切り上げられます。
-
JobDurationInHour– 数値 (double)。ジョブの実行時間 (単位: 時間)。
RunMetrics の構造
オプティマイザーの実行のメトリクス。
この構造は廃止されました。圧縮、保持、孤立ファイルの削除については、個々のメトリクスメンバーを参照してください。
フィールド
-
NumberOfBytesCompacted– UTF-8 文字列。圧縮ジョブの実行によって削除されたバイト数。
-
NumberOfFilesCompacted– UTF–8 文字列。圧縮ジョブの実行によって削除されたファイル数。
-
NumberOfDpus– UTF–8 文字列。ジョブによって消費された DPU の数。最近似の整数に切り上げられます。
-
JobDurationInHour– UTF–8 文字列。ジョブの実行時間 (単位: 時間)。
操作
GetTableOptimizer アクション (Python: get_table_optimizer)
指定されたテーブルに関連付けられているすべてのオプティマイザーの設定を返します。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルのカタログ ID。
-
DatabaseName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
レスポンス
-
CatalogId– カタログ ID 文字列、1~255 バイト長、「Single-line string pattern」に一致。テーブルのカタログ ID。
-
DatabaseName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
TableOptimizer– TableOptimizer オブジェクト。指定されたテーブルに関連付けられたオプティマイザー。
エラー
EntityNotFoundExceptionInvalidInputExceptionAccessDeniedExceptionInternalServiceExceptionThrottlingException
BatchGetTableOptimizer アクション (Python: batch_get_table_optimizer)
指定されたテーブルオプティマイザーの設定を返します。
リクエスト
-
Entries– 必須: BatchGetTableOptimizerEntry オブジェクトの配列。取得するテーブルオプティマイザーを指定する
BatchGetTableOptimizerEntryオブジェクトのリスト。
応答
-
TableOptimizers– BatchTableOptimizer オブジェクトの配列。BatchTableOptimizerオブジェクトのリスト。 -
Failures– BatchGetTableOptimizerError オブジェクトの配列。オペレーションで発生したエラーのリスト。
エラー
EntityNotFoundExceptionInvalidInputExceptionAccessDeniedExceptionInternalServiceExceptionThrottlingException
ListTableOptimizerRuns アクション (Python: list_table_optimizer_runs)
特定のテーブルについての以前のオプティマイザーの実行の履歴をリストします。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルのカタログ ID。
-
DatabaseName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
-
MaxResults– 数値 (整数)。各呼び出しで返すオプティマイザーの実行の最大数。
-
NextToken– UTF-8 文字列。継続トークン (これが継続呼び出しの場合)。
応答
-
CatalogId– カタログ ID 文字列、1~255 バイト長、「Single-line string pattern」に一致。テーブルのカタログ ID。
-
DatabaseName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
NextToken– UTF–8 文字列。返されたオプティマイザーの実行のリストをページ分割するための継続トークン。リストの現在のセグメントが最後のセグメントではない場合に返されます。
-
TableOptimizerRuns– TableOptimizerRun オブジェクトの配列。テーブルに関連付けられているオプティマイザーの実行のリスト。
エラー
EntityNotFoundExceptionAccessDeniedExceptionInvalidInputExceptionValidationExceptionInternalServiceExceptionThrottlingException
CreateTableOptimizer アクション (Python: create_table_optimizer)
特定の関数の新しいテーブル最適化を作成します。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルのカタログ ID。
-
DatabaseName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
-
TableOptimizerConfiguration– 必須: TableOptimizerConfiguration オブジェクト。テーブルオプティマイザーの設定を表す
TableOptimizerConfigurationオブジェクト。
レスポンス
応答パラメータはありません。
エラー
EntityNotFoundExceptionValidationExceptionInvalidInputExceptionAccessDeniedExceptionAlreadyExistsExceptionInternalServiceExceptionThrottlingException
DeleteTableOptimizer アクション (Python: delete_table_optimizer)
オプティマイザーと、テーブルに関連付けられているすべてのメタデータを削除します。最適化はテーブルに対して実行されなくなります。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルのカタログ ID。
-
DatabaseName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
レスポンス
応答パラメータはありません。
エラー
EntityNotFoundExceptionInvalidInputExceptionAccessDeniedExceptionInternalServiceExceptionThrottlingException
UpdateTableOptimizer アクション (Python: update_table_optimizer)
既存のテーブルオプティマイザーの設定を更新します。
リクエスト
-
CatalogId– 必須: カタログ ID 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルのカタログ ID。
-
DatabaseName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルが存在するカタログのデータベースの名前。
-
TableName– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。テーブルの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:compaction="COMPACTION"|retention="RETENTION"|orphan_file_deletion="ORPHAN_FILE_DELETION")。テーブルオプティマイザーのタイプ。
-
TableOptimizerConfiguration– 必須: TableOptimizerConfiguration オブジェクト。テーブルオプティマイザーの設定を表す
TableOptimizerConfigurationオブジェクト。
レスポンス
応答パラメータはありません。
エラー
EntityNotFoundExceptionInvalidInputExceptionAccessDeniedExceptionValidationExceptionInternalServiceExceptionThrottlingExceptionConcurrentModificationException