#google-sheets #google-bigquery
#google-sheets #google-bigquery
Вопрос:
Возможна ли двусторонняя связь между BigQuery и Google Sheets? Другими словами, если добавить строку или изменить запись в Google Sheets, это отражается в соответствующей таблице в BigQuery, и наоборот (схема не изменяется).
Ответ №1:
У вас могут быть односторонние соединения в любом направлении, но не двусторонние из обоих.
Из Google Sheets в Google BigQuery:
Вы можете определить файл Sheets как внешний источник данных в BigQuery. Таким образом, любые обновления таблицы будут отражены в любых запросах из BigQuery.
Настройка этого из командной строки:
- Аутентификация с помощью областей Google Drive:
gcloud auth login --enable-gdrive-access
-
Получите URI диска вашего листа.
-
Создайте файл определения внешней таблицы:
bq mkdef
--noautodetect
--source_format=source_format
"drive_uri"
path_to_schema_file > /tmp/mytable_def.json
Измените файл с помощью текстового редактора с любыми дополнительными опциями.
- Создайте внешнюю таблицу для запроса.
bq mk --external_table_definition=/tmp/mytable_def.json mydataset.mytable
Изменение внешней таблицы из BigQuery не поддерживается.
Из BigQuery в Sheets:
Используйте подключенные таблицы для визуализации данных BigQuery с помощью Google Sheets.
Обновление данных BigQuery через подключенные таблицы не поддерживается.
Ответ №2:
Вы можете добавлять строки в таблицу Google и видеть результаты, отраженные в BQ при запросе. Кроме того, вы можете добавлять столбцы на лист, вносить соответствующие изменения в схему в BQ и просматривать результирующие значения.
Однако вы не можете запустить DML из BigQuery, что приведет к добавлению дополнительных строк в таблицу Google.
Комментарии:
1. Правильно, BQ может запрашивать листы, но не записывать в них. И наоборот, Sheets может считывать данные из BQ через соединитель BigQuery, но не выполнять DML