AWS Glue Iceberg テーブル v3 スペックの最適化

AWS Glue Iceberg テーブル v3 スペックの最適化

AWS Glue Iceberg テーブルは 2025.10.28 時点で format-version=2 までサポートしていますが、format-version=3 はサポートしていません。

とはいえ、Iceberg format-version=3 としてデータを保存し利用はできます。

Athena でクエリ実行できない等の問題こそありますが、format-version=3 として利用はでき、テーブル v3 スペックの恩恵 を受けることができます。

AWS Glue テーブルを Iceberg v3 format で管理し、 Databricks 等の SaaS でデータを参照するような運用をしている場合には大きなパフォーマンスの向上が見込めます。

ですが、 AWS Glue テーブルの最適化機能は format-version=3 の場合、エラーとなります。

その為、Glue Job で Spark SQL 等でテーブル最適化を実施する必要があります。

以下実施例です。

続きを読む

parquet 解析ツール on macOS

iceberg テーブルの圧縮形式は snappy や gzip 等が選択できますが、
zstd が圧縮・伸縮効率がよくコストパフォーマンスに優れています。

ですが、
圧縮形式 zstd の parquet は s3 select 未サポート (2024.10.05 時点) なので、
parquet を解析したい場合、macOS ローカルにダウンロードし、解析するなりが必要です。

現時点 2025.10.03 では、 Iceberg format-versoin=3 では、 Athena からクエリ実行することもできません。

parquet-cli を利用しデータの内容を確認する必要があったので備忘録として残します。

parquet-cli 導入 & 簡易的な使い方

1
2
3
4
5
6
7
8
9
10
brew install parquet-cli

// スキーマ情報確認
parquet schema xxx.parquet

// 全データ表示
parquet cat xxx.parquet

// 最初の数件を表示
parquet head -n 10 xxx.parquet

Kafka への流入量の試算

AWS RDS の CDC を Kafka でストリーミングし Iceberg テーブルへ配信し分析基盤を構築しました。
その際に RDS のメトリクスから Kafka への流入量を試算するスクリプトを作成しましたので公開します。

SaaS への見積もりで流入量が必要だったので、スクリプトで試算した数値と合わせてスクリプトも提出した所、概ね問題ないことを確認いただけました。

続きを読む

データ分析観点から見た AWS ECS コンテナロギング

AWS ECS コンテナロギングをデータ分析観点からどの様な構成だと分析に都合が良いかの観点を記載します。

基本ログは追加のみで更新や削除はされない性質があるので、その点を考慮して登録されることを意識したアーキテクチャが望ましいです。

ECS コンテナロギングの構成

ECS → CloudWatch Logs

デフォルトではこのような構成がよく見受けられます。

続きを読む

Datadog 子組織の削除方法

備忘録として
Datadog の子組織の削除方法をまとめます。

手順

1. 監視や API Key, Application Key を削除

  • 監視が残っていると削除できない場合があります。
  • API Key を削除することで API Key を利用した Datadog Agent からのデータ収集ができなくなり、意図しないコストの発生を抑える意図があります。

2. サポートに連絡

サポートの状況次第ですが、おおよそ 1週間程度で削除していただけました。

以上です。

RDS のテーブルデータを分析用テーブルにレプリケートする方法一覧


概要

RDS のテーブルデータを分析用テーブルにレプリケートする方法が多数あったのでその一覧をまとめます。

RDS をユーザ影響を極力低くすべく、分析用テーブルへレプリケートして、分析する方法が多々あったので私見ですが Pros/Cons をまとめます。

前提

  • アプリケーション DB を配置する AWS アカウントとデータ基盤を構築する AWS アカウントは分けます
  • Glue テーブルは iceberg 形式を採用します
続きを読む

Glue Job Bookmark 機能でなく sampleQuery を使って DB データをエクスポートしてみた


概要

Glue Job で DB データを取得していた際に Glue Job Bookmark を利用していた際に問題があったので、その際の対応を備忘録として残しておきます。

Glue Job Bookmark 機能とは?

Glue Job で DB やログ情報を取り込みしている場合、どこまで取り込んだかを記録する Bookmark 機能 があります。

DB データを毎回全てダンプするよりも差分のみ抽出(増分エクスポート: Incremental Export)でき、データの取り込み量も抑えられ、Glue Job の実行時間が短縮されます。

Glue Job は実行時間に対して従量課金されるのでコストも抑制できるメリットがあります。

続きを読む