BigQueryでスキーマ情報を取得

BigQueryのクエリでスキーマ情報を取得するには
INFORMATION_SCHEMA を利用して取得することができます。
※詳しくは 公式ページ 参照

INFORMATION_SCHEMA.COLUMNS

INFORMATION_SCHEMA.COLUMNS では以下のような情報が取得できます 。
※よく利用する項目のみ抜粋

列名説明
TABLE_CATALOGSTRINGプロジェクトID
TABLE_SCHEMASTRINGデータセット名
TABLE_NAMESTRINGテーブル名
COLUMN_NAMESTRINGカラム名
ORDINAL_POSITIONINT64カラムの順序
IS_NULLABLESTRING「YES」または 「NO」
NULL 値を許可するかどうか
DATA_TYPESTRINGデータ型
IS_PARTITIONING_COLUMNSTRING「YES」または 「NO」
パーティションカラムであるかどうか

クエリ

クエリで書くと以下のようになります

SELECT * FROM [プロジェクトID]:[データセット].INFORMATION_SCHEMA.COLUMNS

対象テーブルのスキーマ情報のみ取得したい場合

SELECT * FROM [プロジェクトID]:[データセット].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = '[データセット名]'
AND TABLE_NAME = '[テーブル名]'

bq show

bq show コマンドでは以下のようになります

bq show --format pretty [プロジェクトID]:[データセット].[テーブル名]