Looker Studio が使用している BigQuery クエリ料金をモニタリングしよう!

投稿日:2025-03-30

Looker Studioが使用しているBigQueryのクエリ料金を可視化してみます。

はじめに

今回は Looker Studio が使用している BigQuery のクエリ料金を可視化する方法について紹介します。

Looker Studio でデータソースとして BigQuery を使用している場合、Looker Studio から
BigQuery へクエリが実行されています。

BigQuery 側の情報を取得し、クエリの実行にかかる料金をモニタリングすることで、
予算管理や最適化を行うことができます。


概要

今回ご紹介する方法は下記になります。

  • Looker Studio のカスタムクエリを使用して、BigQuery の INFORMATION_SCHEMA からクエリジョブ情報を取得し可視化する

Looker Studio のカスタムクエリと BigQuery の INFORMATION_SCHEMA については、
それぞれの公式ドキュメントをご参照ください。

それぞれ一言で説明すると、以下の通りです。

Looker Studio のカスタムクエリ

  • Looker Studio でデータソースとして DB へのクエリ結果を取得するための SQL クエリ(DB へのビューを Looker Studio 側に保存するイメージをしています)

INFORMATION_SCHEMA

  • BigQuery のメタデータ情報を取得するためのビュー

参考資料


1. INFORMATION_SCHEMA からクエリジョブ情報を取得する

クエリジョブを取得するための INFORMATION_SCHEMA は 4 つ用意されています。

ビュー名 スコープ
JOBS ビュープロジェクトレベル
JOBS_BY_USER ビュー指定したプロジェクトで現在のユーザーが送信したジョブ
JOBS_BY_PROJECT ビュー指定したプロジェクトを含むフォルダ
JOBS_BY_ORGANIZATION ビュー指定したプロジェクトを含む組織

今回は JOBS ビューを使用して、クエリジョブ情報を取得します。 (このビューには、現在実行中のジョブと過去 180 日間のジョブ情報を保持しています。)

Looker Studio からのクエリの情報のみを取得したいので下記条件でフィルタリングします。

  • job_type : QUERY
  • statement_type : SELECT
  • requestor : looker_studio

クエリは下記の通りです。 FROM 句の PROJECT_ID と REGION を環境に合わせて変更してください。 (執筆時のクエリ料金は 6.25$/TiB で1$あたり約 153 円です。)

SELECT
  creation_time,
  total_bytes_billed,
  total_bytes_billed * 6.25 * 153 / 1099511627776 AS fee,
  job_id,
  (
  SELECT
    label.value
  FROM
    UNNEST(labels) label
  WHERE
    label.key = "looker_studio_report_id" ) AS report_id,
FROM
  PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.JOBS
WHERE
  job_type = "QUERY"
  AND statement_type = "SELECT"
  AND (
  SELECT
    label.value
  FROM
    UNNEST(labels) AS label
  WHERE
    label.key = "requestor" ) = "looker_studio"

2. クエリジョブ情報を カスタムクエリとして Looker Studio に設定する

作成したクエリを Looker Studio のカスタムクエリとして登録します。

2-1. データソース編集画面に移動

ステップ1

2-2. データソースを追加で BigQuery を選択

ステップ2

2-3. カスタムクエリを選択し、クエリを実行する BigQuery プロジェクトを選択 2-4. クエリを入力しデータソースを追加

ステップ3

3. Looker Studio でクエリ料金を可視化する

ディメンションに creation_time の日付, 指標に fee の合計を指定することで daily のクエリ料金が確認できます。 また、ディメンションに report_id を追加することで、どのレポートにどのくらいコストがかかっているかが確認できます。

今回はデータがなく確認できませんが、時系列の折れ線グラフなどで可視化すると見やすいかなと思います。

ステップ4

まとめ

今回は Looker Studio が使用している BigQuery のクエリ料金を可視化してみました。 INFORMATION_SCHEMA を使用することで Looker Studio が使用している分 だけでなく、BigQuery 自体の利用状況を可視化することができます。



データ関連の技術情報を中心に発信していく技術ブログを始めました!

これから、データ基盤、クラウド、生成 AI、データ可視化などの情報を発信していきます。