①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