BigQueryでINFORMATION_SCHEMAを使ってメタデータを確認。


BQで利用状況を確認する際、INFORMATION_SCHEMAを使うのが便利です。
これはBQのメタデータへアクセスできるビューです。過去180日間に遡って、アクセスできます。テーブルの統計量調査する時に使えそうですね。
cloud.google.com
https://cloud.google.com/bigquery/docs/information-schema-tables?hl=ja#before_you_begin




View 概要
SCHEMATA スキーマ(データセット)の情報
SCHEMATA_OPTIONS データセット内のすべてのテーブルのデフォルトの有効期間や、データ型などがわかります。
TABLES テーブルの情報
COLUMNS テーブル内のカラム情報

サンプルコード

SCHEMATA

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

結果

カラム 概要
CATALOG_NAME プロジェクト名
SCHEMA_NAME データセット
CREATION_TIME 作成日時
LAST_MODIFIED_TIME 最終更新日時
LOCATION ロケーション

OPTIONS

SELECT
 *
FROM
 INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE
 option_name="default_table_expiration_days"

結果

カラム 概要
TABLE_CATALOG データセットを含むプロジェクトのプロジェクト ID
TABLE_SCHEMA datasetId とも呼ばれる、テーブルやビューを含むデータセットの名前
TABLE_NAME テーブルまたはビューの名前(tableId とも呼ばれる)
OPTION_NAME options テーブル内の名前値の 1 つ
OPTION_TYPE オプション テーブルのデータ型の値の 1 つ
OPTION_VALUE オプション テーブルの値オプションの 1 つ

TABLES

データセット以下のテーブルの情報が確認できます。


カラム 概要
table_catalog データセットを含むプロジェクトのプロジェクト ID。
table_schema datasetId とも呼ばれる、テーブルやビューを含むデータセットの名前。
table_name テーブルまたはビューの名前(tableId とも呼ばれる)。
table_type テーブルタイプ: 次のいずれかです。
・BASE TABLE: 標準のテーブル
・CLONE: テーブル クローン(プレビュー)
・SNAPSHOT: テーブル スナップショット
・VIEW: ビュー
・MATERIALIZED VIEW: マテリアライズド ビュー
・EXTERNAL: 外部データソースを参照するテーブル
is_insertable_into YES または NO(テーブルが DML INSERT ステートメントに対応しているかどうかによる)
is_typed 値は常に NO
creation_time テーブルの作成時間
ddl テーブルの再作成に使用できる DDL ステートメント(CREATE TABLE、CREATE VIEW など)

COLUMNS

COLUMNSは、指定したテーブルのカラム情報を出力します。

SELECT * FROM `bigquery-public-data.austin_311.INFORMATION_SCHEMA.COLUMNS` 

結果

column_nameでカラム名、data_typeでデータ型、IS_NULLABLEでカラムのNULLを許可しているかなど各カラムの情報が見れます。

カラム 概要
TABLE_CATALOG データセットを含むプロジェクトのプロジェクト ID
TABLE_SCHEMA datasetId とも呼ばれる、テーブルを含むデータセットの名前
TABLE_NAME テーブルまたはビューの名前(tableId とも呼ばれる)
COLUMN_NAME 列の名前

BigQueryで、利用状況を確認する際、監査ログを使う手もありますが、過去180日間でよければ、こちらの方が手軽に使えるかもしれません。