👔

【BigQuery】ユーザーごとのクエリ量を表示する方法

2023/12/11に公開

BigQueryのユーザーが複数人いる場合、どのユーザーがどの程度のクエリを実行しているのかを管理したい!もしくは分析したい!そう言ったユースケースがあるかと思います。

BigQueryではInformation Schemaを使用して、ユーザーごとのクエリ量を出すことができます。

Information Schemaからユーザーのクエリ量を一覧する方法

以下のようなSQLクエリをBigQueryで実行することでユーザーごとのクエリ量を一覧することができます。

以下は
リージョンはregion-asia-northeast1のケースです。
実際に使用する場合には調査したいリージョンを指定してください。

SELECT
  user_email,
  ROUND(SUM(total_bytes_processed) / POW(1024, 3), 2) as total_gb
FROM
  `region-asia-northeast1`.INFORMATION_SCHEMA.JOBS_BY_USER
WHERE
  creation_time BETWEEN '2023-01-01' AND '2023-12-31'
  AND state = 'DONE'
  AND project_id = 'PROJECT_NAME'
GROUP BY
  user_email
ORDER BY
  total_gb DESC

結果としては以下のように返ってきます。ユーザーが一人だけなので1ユーザーですが、、、、

上記のクエリの期間やリージョン、その他に見たい項目なども追加することが可能なので是非Information Schemaを使ってみてください!

Discussion