Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて

Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて

2025/2/26にクラスメソッドデータ事業本部の部署内メンバー向けに発表したナレッジの共有資料になります。
Developers IOでのブログ公開用途も含めて作成しているので、Speaker Deckでも公開します。

Nayuta S.

March 02, 2025
Tweet

More Decks by Nayuta S.

Other Decks in Technology

Transcript

  1. Amazon Athenaから利用時のIcebergテーブルのメリット・注意点 3 メリット • S3をストレージに、データの変更・削除できる。 • タイムトラベルで過去断面のデータを確認できる。 • トランザクションでデータ変更の競合を防ぐことができる。

    • データをほかのエンジンから参照できる。 注意点 • 定期的なファイルのメンテナンスが必要になる。 • ファイルの書き込み・読み取りの回数が増える。 (UPDATEはDELETE+INSERTの動きをするなど)
  2. Amazon AthenaのIcebergのデータ更新戦略 4 • Amazon Athenaでは現状Merge-On-Readのみサポートしている。 • 読み取り性能はCopy-on-Writeより低くなる可能性はあるが、比較的低コストでの更新操作を実現している。 ※Working with

    Apache Iceberg tables by using Amazon Athena SQLより2 02 5 /2 /1 4に引 用 AthenaのIcebergのDMLサポート MoRのイメージ データファイル1 データファイル2 データファイル3 データファイル4 データファイル1 データファイル2 データ ファイル3 データファイル4 削除 ファイル3 削除前 削除後
  3. メンテナンスコマンドに関係するテーブルプロパティ 6 テーブルプロパティ 説明 デフォルト値 vacuum_max_snapshot_age_seconds 古いスナップショットを削除するまでの時間 432,000 秒 (5

    日間) vacuum_min_snapshots_to_keep 保持期間に含まれていないスナップショットを残す数 1 vacuum_max_metadata_files_to_keep 保持する古いメタデータファイルの数 100 テーブルプロパティ 説明 デフォルト値 optimize_rewrite_data_file_threshold これを超えたら最適化を実行するというデータファイル数のしきい値 5 optimize_rewrite_delete_file_threshold これを超えたら最適化を実行するという削除ファイル数のしきい値 2 https://docs.aws.amazon.com/ja_jp/athena/latest/ug/querying-iceberg-creating-tables.html#querying-iceberg-table-properties VACUUM OPTIMIZE メンテナンスコマンド実行時の挙動は以下のテーブルプロパティで制御できるため把握しておく。
  4. メンテナンス不足で発生しうる高額課金の例 13 原因調査 • メタデータファイルの内容の確認 • S3上のファイル数の推移の確認 ◦ S3 Storage

    lensでバケットまたはパスごとのオブジェクト数の推移を確認する ◦ AWS CLIなどでファイル数を調べて確認する ◦ Cloud WatchメトリクスのNumberOfObjectsメトリクス(バケット単位のみ)を確認する 恒久対応 • メンテナンスコマンドの定期実行 • Glue Data Catalogのテーブル最適化機能の利用