BigQueryはパーティション分割テーブルを使うことで、パフォーマンスやコストを最適化することができます。 しかし、公式のドキュメントには分割された各パーティション毎のデータサイズを求める方法が書かれていません。 __PARTITIONS_SUMMARY__ メタテーブルを使うことで、パーティションの一覧やそれらの作成・更新時刻を確認することはできますが、このテーブルにサイズの情報はありません。 では、どうやってパーティション毎のサイズを確認できるのでしょうか? 解決策 各パーティションに対して、パーティション内をフルスキャンするクエリをdry runし、推定スキャン量のデータを使う。 partitions = [ '2020-01-01', '2020-01-02', '2020-01-03', ] partitions.each do |partition| sql = "SELEC