Как выбрать лист, отличный от листа по умолчанию (первый лист), при создании внешних таблиц из Google Sheet в BigQuery Clould Shell? - PullRequest
0 голосов
/ 20 февраля 2020

Я создал файл определения таблицы по ссылке Google Sheet в BigQuery Cloud Shell, затем использовал этот файл определения таблицы для создания внешней таблицы. В книге Google Sheet есть несколько листов, но по умолчанию она создала внешнюю таблицу на основе первого листа. Я хотел бы также создавать таблицы из других листов, но добавление параметра, определяющего ссылку на лист, в файл определения таблицы не сработало - и я не нашел причину, по которой.

Я создал определение file:

bq mkdef \
--autodetect \
--source_format=GOOGLE_SHEETS \
https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496 > table_def

Файл определения выглядит следующим образом:

{
  "autodetect": true,
  "sourceFormat": "GOOGLE_SHEETS",
  "sourceUris": [
"https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496"
  ]
}

Я изменил файл определения, добавив ссылку на лист:

{
  "autodetect": true,
  "sourceFormat": "GOOGLE_SHEETS",
  "sourceUris": [
"https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496"
  ],
"range" : "Sheet2!A1:Z100"
}

И создал внешняя таблица:

bq mk \
--external_table_definition=table_def \
myproject-bq:my_dataset.test_table

Однако таблица создается на основе листа Sheet1 по умолчанию, а не указанного листа 2.

Я пробовал его с / без определения диапазона ячеек, с / без кавычек для определения листа.

Как выбрать лист, отличный от листа по умолчанию (первый лист), при создании внешних таблиц из Google Sheet в BigQuery Clould Shell?

1 Ответ

0 голосов
/ 21 февраля 2020

Определенный диапазон должен быть в «googleSheetsOptions» в формате JSON. Пожалуйста, смотрите ниже для вашей справки.

{ "autodetect": false, "sourceFormat": "GOOGLE_SHEETS", "sourceUris": [ "docs.google.com/spreadsheets/d/xxxxxxxxxxxxxx" ], "maxBadRecords": 1, "googleSheetsOptions": { "range": "test_sheet!A1:B20", "skipLeadingRows": 0 } } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...