#google-sheets #google-bigquery
#google-sheets #google-bigquery
Вопрос:
Я создаю таблицу BQ на второй вкладке электронной таблицы GoogleSheets. Сначала я создаю файл определения таблицы следующим образом:
bq mkdef
--noautodetect
--source_format=source_format
"drive_uri"
path_to_schema_file > /tmp/mytable_def.json
а затем я вручную изменяю mytable_def.json, чтобы указать, что таблица должна быть создана со второй вкладки:
"googleSheetsOptions":{"range": "sheetB"}
Тем не менее, я ищу способ сделать это непосредственно из первой команды mkdef. Возможно ли это?
Комментарии:
1. Глядя на документацию, похоже, что у вас есть правильный / единственный подход. К сожалению, я не вижу никаких других вариантов. cloud.google.com/bigquery /…
Ответ №1:
Я думаю, что стоит попробовать JQ tool как надежный способ обработки объектов JSON в качестве шага обработки данных в вышеупомянутом подходе:
bq mkdef
--noautodetect
--source_format=source_format
"drive_uri"
path_to_schema_file | jq '.googleSheetsOptions = {"range": "sheetB"}' > /tmp/mytable_def.json
Как упоминал @Daniel Zagales, ссылаясь на страницу документации, файл определения таблицы должен быть скорректирован вручную или заменен любым инструментом, который может себе это позволить, как часть обработки командной строки.