BigQuery

BigQuery bq コマンドライン ツール によるスプシ参照テーブルの作成

①schema.jsonの作成
最初にschema.jsonでテーブルの型を作成する。
参考:https://gist.github.com/masutaka/142ca20b802401d12012fe952f2ea1f3

schema.json

[
{
“name”: “No”,
“type”:INTEGER
},
  {
“name”: “name”,
“type”: “STRING”
},
  {
“name”: “price”,
“type”: “INTEGER”
}
]

②define.jsonの作成
作成したschema.jsonから、該当スプレッドシートを指定したdefine.jsonを作成する。

$ bq mkdef –noautodetect –source_fomat=GOOGLE_SHEETS \
‘https://docs.google.com/spreadsheets/…’ \
schema.json > define.json

define.json

{
“autodetect”: false,
“googleSheetsOptions”: {
“range”:”sheet_name!A:C”,
“skipLeadingRows”: 1
},
“ignoreUnknownValues”: false,
“maxBadRecords”: 0,
“schema”: {
“fields”: [
{
“name”: “No”,
“type”: “INTEGER”
},
{
“name”: “name”,
“type”: “STRING”
},
{
“name”: “price”,
“type”: “INTEGER”
}
]
},
“sourceFormat”: “GOOGLE_SHEETS”,
“sourceUris”: [
“https://docs.google.com/spreadsheets/…”
]
}

③define.jsonの更新
BigQueryTableを参考にして、define.jsonに設定を追加する
以下を追加することが多い

autodetect
googleSheetsOptions
range
skipLeadingRows
ignoreUnknownValues
maxBadRecords

④BigQuery Dataset の作成

$ bq mk datasetname

⑤BigQuery Tableの作成

$ bq mk –external_table_definition=./define.json datasetname.tablename