テック技報最新号へ →
インフラ

Athena: ファイルサイズは 100MB〜1GB が扱いやすい

S3 上の分析用ファイルは、小さすぎても大きすぎても Athena の効率が落ちる。実測の目安として 100MB〜1GB がちょうどいい領域。

@dkfj · 2026-10-12
#infra#aws#athena#s3#data

どんなときに使う?

  • データレイク/分析基盤のパーティションや出力ファイルサイズを決めるとき
  • 「小さいファイルが大量」または「巨大な単一ファイル」でクエリが重いとき
  • ETL(Glue・Spark 等)の出力設定を見直すとき

やり方

  1. Athena で読むオブジェクトのサイズ分布を確認する(小さすぎる/大きすぎる偏りがないか)
  2. 書き出し側でターゲットを おおむね 100MB〜1GB に寄せる
    • 小さすぎる: オブジェクト数・メタデータ・計画コストが増える
    • 大きすぎる: 並列度が落ち、1 ファイル失敗の影響も大きい
  3. 圧縮・列指向(Parquet 等)と合わせて、スキャン量とファイル数のバランスを取る

詳細な測定記録は @dkfj の『AWSの薄い本Ⅴ データ分析基盤を作ってみよう 性能測定編』(1KB〜10GB まで並べて測った記録)を参照。

注意点

  • 「大きいほど良い」ではない。最適域はワークロードとファイル形式でずれる
  • パーティション過多も別問題。ファイルサイズとパーティション設計はセットで見る
  • 目安であり、本番は自データの EXPLAIN/スキャン量で検証する

出典

X の元の投稿を開く