中野智文のブログ

データ・マエショリスト(※データ・マエストロではない)のメモ

BigQuery のスキーマを bq コマンドで使う形式で表示する jq

背景

ある日の空テーブルを作成しようとしたが、スキーマの文字列が必要になった。手作業だとミスが起こるから、コマンドが欲しい。

jq コマンド

スキーマ文字列を取得

$ bq show --format prettyjson <既存のBQのテーブル名> | jq -r '.schema[] | map(.name+":"+.type) | join(",")

一気に空テーブル作成

$ bq mk --schema `bq show --format prettyjson <既存のBQのテーブル名> | jq -r '.schema[] | map(.name+":"+.type) | join(",")'` -t <空のBQのテーブル名>