Google Sheets
Renta позволяет отправлять данные из вашего хранилища данных напрямую в Google Sheets. Настройте модель данных один раз, и Renta будет поддерживать лист таблицы в актуальном состоянии, чтобы команда работала с живыми данными из хранилища без ручных выгрузок.
Аутентификация
Для аутентификации в Google Sheets Renta использует GCP Service Account. Вы один раз загружаете JSON-файл ключа, после чего для синхронизации дост упна любая таблица, к которой предоставлен доступ для email сервисного аккаунта.
Перед подключением назначения подготовьте сервисный аккаунт:
- В Google Cloud Console откройте IAM & Admin > Service Accounts и создайте сервисный аккаунт или выберите существующий.
- Включите Google Sheets API и Google Drive API в GCP-проекте сервисного аккаунта.
- На вкладке Keys нажмите Add Key > Create new key, выберите JSON и скачайте файл.
- Предоставьте доступ к каждой таблице, которую хотите синхронизировать, для email сервисного аккаунта с ролью Editor.
Email сервисного аккаунта находится в поле client_email JSON-файла ключа. После подключения назначения Renta также показывает его на карточке подключения.
Подключение назначения Google Sheets
Выполните следующие шаги, чтобы добавить Google Sheets как Reverse ETL назначение в Renta.
- Перейдите в раздел Connections > Catalog в левой панели и откройте вкладку Destinations.
- Откройте категорию Analytics и нажмите на карточку Google Sheets.

Нажмите Upload a Service Account JSON file и выберите файл ключа, скачанный из Google Cloud Console. Renta проверит ключ и создаст подключение.

Завершите настройку:
- Destination name.
Укажите имя назначения. Оно используется только в интерфейсе Renta.
Нажмите Save для завершения.

Новое назначение появится в списке Destinations со статусом Active. Теперь его можно использовать в Reverse ETL пайплайнах.

Создание пайплайна
После подключения назначения создайте пайплайн, чтобы синхронизировать модель данных в таблицу.
Reverse ETL пайплайн читает данные из модели данных: сохранённого SQL-запроса в разделе Data models, который определяет, какие данные из хранилища синхронизировать. Создайте модель данных до настройки пайплайна.
Создание пайплайна Google Sheets
Свяжите хранилище данных с Google Sheets и настройте пайплайн.
В левой панели нажмите New pipeline. На шаге Source выберите подключение к вашему хранилищу данных (например, Google BigQuery) и нажмите Next step.

На шаге Destination переключите тумблер в положение Reverse ETL, выберите Google Sheets в списке Already connected и нажмите Next step.

Выберите подключение Google Sheets, созданное ранее, и нажмите Next step. На каждой карточке указан email сервисного аккаунта, которому должен быть предоставлен доступ к вашим таблицам.

Настройка пайплайна
На финальном шаге выберите, какую модель данных синхронизировать и куда именно записывать данные в таблице.
Настройки синхронизации
Укажите для пайплайна модель данных и таблицу.

- What would you like Renta to sync.
Выберите Worksheet, чтобы зеркально синхронизировать модель данных в один лист таблицы. - Data model.
Выберите модель данных для синхронизации. От этого выбора зависят колонки, доступные для маппинга ниже. - Spreadsheet.
Выберите таблицу Google. В списке отображаются все таблицы, к которым у сервисного аккаунта есть доступ. Для самой синхронизации нужна роль Editor: с ролью Viewer запуск завершится ошибкой доступа.
Лист
Выберите лист, в который будут записываться данные. Лист полностью перезаписывается при каждой синхронизации.

-
Worksheet Синхронизируйте данные в существующий лист или позвольте Renta создать новый.
Режим Описание Use an existing worksheet Выберите лист из таблицы. Renta пе резаписывает его содержимое при каждой синхронизации. Create a new worksheet Укажите имя, и Renta добавит лист в таблицу при создании пайплайна. -
Existing worksheet Для режима существующего листа выберите лист, в который синхронизировать данные.
Имя нового листа должно быть уникальным в пределах таблицы, не длиннее 100 символов и не может содержать символы
: / \ ? * [ ].
Маппинг полей
Сопоставьте колонки модели данных с колонками листа. Каждая замапленная колонка становится колонкой в листе, а её имя становится текстом заголовка в строке 1.

При создании пайплайна все колонки модели замаплены автоматиче ски: удалите ненужные или переименуйте колонки листа. Используйте Add mapping, чтобы добавить новые:
| Тип маппинга | Описание |
|---|---|
| Standard | Сопоставляет колонку модели данных с колонкой листа. |
| Static | Записывает заданное фиксированное значение в каждую строку. |
| Variable | Записывает системное значение, например время синхронизации или имя модели данных, в каждую строку. |
Затем укажите Integration name — отображаемое имя пайплайна. Измените его по своему усмотрению.
Расписание
Выберите, как часто будет запускаться пайплайн.

| Тип расписания | Описание |
|---|---|
| Manual | Пайплайн запускается только вручную через интерфейс или по API. |
| Daily | Пайплайн запускается раз в день в указанное время обновления. |
| Interval | Пайплайн запускается через заданные интервалы времени. |
| Cron Expression | Пайплайн запускается по расписанию, заданному cron-выражением. |
Для расписания Daily укажите Update time — точное время запуска, затем нажмите Create pipeline.

Renta также поддерживает запуск по API и интеграцию с внешними оркестраторами, такими как Apache Airflow, Dagster и Prefect. Подробнее в документации по расписаниям.
Новый пайплайн появится в разделе Pipelines на вкладке Reverse ETL, где можно отслеживать его запуски и прогресс.

Стратегия синхронизации
Каждая синхронизация полностью перезаписывает лист, чтобы он в точности соответствовал текущему состоянию модели данных.
При каждом запуске Renta выполняет запро с модели данных в вашем хранилище, изменяет размер листа точно под размер результата, записывает заголовки в строку 1 и заполняет строки ниже результатами запроса. Строки, удалённые из модели, удаляются и из листа, поэтому лист всегда соответствует модели без устаревших строк и дублей. Если модель не вернула строк, в листе останется только строка заголовков.
- Переименование листа безопасно.
Renta отслеживает лист по внутреннему ID, поэтому синхронизация продолжится в переименованный лист. - Удаление листа восстановимо.
Если лист больше не существует, при следующей синхронизации Renta создаст новый с заданным в настройках именем. - Ручные правки перезаписываются.
Renta перезаписывает все значения ячеек и удаляет строки и колонки за пределами синхронизируемого диапазона, при этом форматирование ячеек, защита и правила проверки данных внутри диапазона сохраняются. Держите формулы, графики и заметки на других листах той же таблицы и ссылайтесь на синхронизируемый лист оттуда.
Лимиты
- Ячейки за синхронизацию.
За одну синхронизацию можно записать до 5 миллионов ячеек: количество строк, включая строку заголовков, умноженное на количество замапленных колонок. Если модель данных превышает лимит, запуск завершится ошибкой до записи данных, а текущее содержимое листа останется без изменений. Уменьшите количество строк в модели или количество замапленных колонок. - Ячейки в таблице.
Сам Google Sheets ограничивает таблицу 10 миллионами ячеек по всем листам. Если таблица превышает этот лимит, синхронизация завершится ошибкой с предложением удалить неиспользуемые листы или колонки либо синхронизировать данные в новую таблицу. - Форматирование значений.
Renta записывает значения так, как их ввёл бы пользователь, поэтому Google Sheets применяет своё обычное распознавание: числа становятся числами, а строки в формате дат — датами. Пустые значения модели становятся пустыми ячейками.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.