Двусторонняя связь между BigQuery и Google Sheets?

#google-sheets #google-bigquery

#google-sheets #google-bigquery

Вопрос:

Возможна ли двусторонняя связь между BigQuery и Google Sheets? Другими словами, если добавить строку или изменить запись в Google Sheets, это отражается в соответствующей таблице в BigQuery, и наоборот (схема не изменяется).

Ответ №1:

У вас могут быть односторонние соединения в любом направлении, но не двусторонние из обоих.

Из Google Sheets в Google BigQuery:

Вы можете определить файл Sheets как внешний источник данных в BigQuery. Таким образом, любые обновления таблицы будут отражены в любых запросах из BigQuery.

Настройка этого из командной строки:

  1. Аутентификация с помощью областей Google Drive:
 gcloud auth login --enable-gdrive-access

  
  1. Получите URI диска вашего листа.

  2. Создайте файл определения внешней таблицы:

 bq mkdef 
--noautodetect 
--source_format=source_format 
"drive_uri" 
path_to_schema_file > /tmp/mytable_def.json
  

Измените файл с помощью текстового редактора с любыми дополнительными опциями.

  1. Создайте внешнюю таблицу для запроса.
 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