BigQueryでデータセット内のテーブル情報のリストを一括出力する方法

マーケターがGA4のBigQuery出力を利用する場合、日別分割テーブルの毎日のローデータが出力されます。このテーブル一覧と作成時間を見てみたいと思います。この場合はデータセットに対して下記のようなクエリを投げます。

SELECT * FROM `project_name`.dataset_name.INFORMATION_SCHEMA.TABLES
order by table_name desc

すると下記のような 結果になります。

画像に alt 属性が指定されていません。ファイル名: image-9-1024x462.png

列の中にtableまたはview の作成された時間である”creation_time”という表示が出ます。

2022-10-03 05:09:59.479000 UTC

creation_time

テーブルごとにこの時間を見るとだいたい何時頃に日別テーブルが作成されたかがわかります。ただし、この場合の注意点としてそのまま使わず、タイムゾーンを日本時間にして確認するようにしてください。具体的には、協定世界時 (UTC) のTIMESTAMP型でデータが出力されているので、 日本標準時 (JST)に9時間早めて利用します。

Googleスプレッドシートなどに出力して9時間早めてもよいですが、関数設定が面倒なのでBigQuery内で設定した方が早いです。具体的なクエリは以下です。

SELECT
  table_name,
  creation_time,
  FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S', creation_time, 'Asia/Tokyo') AS creation_time_jst
FROM `glass-236409`.analytics_249471749.INFORMATION_SCHEMA.TABLES
order by table_name desc

ちなみに、INFORMATION_SCHEMA.TABLES における出力結果としてcreation_timeなど以外で出力される列のデータを参考までに記載します。

列名データ型
table_catalogSTRINGデータセットを含むプロジェクトのプロジェクト ID。
table_schemaSTRINGdatasetId とも呼ばれる、テーブルやビューを含むデータセットの名前。
table_nameSTRINGテーブルまたはビューの名前(tableId とも呼ばれる)。
table_typeSTRINGテーブルタイプ: 次のいずれかです。
BASE TABLE: 標準のテーブルCLONEテーブル クローンプレビューSNAPSHOTテーブル スナップショットVIEWビューMATERIALIZED VIEWマテリアライズド ビューEXTERNAL外部データソースを参照するテーブル
is_insertable_intoSTRINGYES または NO(テーブルが DML INSERT ステートメントに対応しているかどうかによる)
is_typedSTRING値は常に NO
creation_timeTIMESTAMPテーブルの作成時間
ddlSTRINGテーブルの再作成に使用できる DDL ステートメントCREATE TABLECREATE VIEW など)
clone_timeTIMESTAMPテーブル クローンプレビュー)の場合、このテーブルを作成するためにベーステーブルがクローンされた時間。タイムトラベルが使用された場合、このフィールドにはタイムトラベルのタイムスタンプが含まれます。それ以外の場合、clone_time フィールドは creation_time フィールドと同じです。table_type が CLONE に設定されているテーブルにのみ適用されます。
base_table_catalogSTRINGテーブル クローンプレビュー)の場合、ベーステーブルのプロジェクト。table_type が CLONE に設定されているテーブルにのみ適用されます。
base_table_schemaSTRINGテーブル クローンプレビュー)の場合、ベーステーブルのデータセット。table_type が CLONE に設定されているテーブルにのみ適用されます。
base_table_nameSTRINGテーブル クローンプレビュー)の場合、ベーステーブルの名前。table_type が CLONE に設定されているテーブルにのみ適用されます。
default_collation_nameSTRINGデフォルトの照合仕様の名前(存在する場合)。それ以外の場合は、NULL です。
TABLES ビュー  |  BigQuery  |  Google Cloud

SQL、BigQueryはマーケターの必須スキルになってきていますので、是非使いこなしましょう!

カテゴリー: データ基盤
GLASSで一緒に働いてみませんか?