Как правильно загрузить данные из Firestore в BigQuery? - PullRequest
0 голосов
/ 29 апреля 2019

Я искал несколько способов экспорта данных из Firestore без использования экспорта (дорогостоящая операция в долгосрочной перспективе, поскольку она не поддерживает инкрементные резервные копии) для использования в BigQuery и Data Studio.

1) Использование Google Pub / Sub.Это, вероятно, потребует, чтобы функция одновременно выполняла запись в pub / sub, а затем другую для запуска в BQ.

2) Использование облачных функций для запуска события onCreate для прямой записи в набор данных и таблицу BigQuery.(Это использование table.insert)

Каким будет преимущество использования Pub / Sub - кроме того, что может показаться, что это будет стоить дороже в долгосрочной перспективе?

Или есть другойКак я не знаю, как это сделать?

Я новичок в этом.Некоторые советы и плюсы и минусы вышеупомянутых сценариев высоко ценятся.

1 Ответ

1 голос
/ 29 апреля 2019

Официальное решение - здесь .

Что вы создадите в случае использования облачных функций для запуска события onCreate? Создать файл в облачном хранилище или создать документ Firestore?

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

Я рекомендую асинхронную архитектуру, такую ​​как Pub / Sub. Потому что повторный запуск прост, а сфера влияния ограничена.

Я разработал образец здесь . Я использую Cloud Scheduler не cron.yaml. Стоимость Cloud Scheduler составляет здесь .

  1. (При желании) Экспортировать пользователей аутентификации Firebase в Cloud Firestore Collection. Используйте Firestore, Cloud Functions (PubSub) и Cloud Scheduler.
  2. Экспорт всех облачных коллекций Firestore и указанных коллекций в облачное хранилище. Используйте AppEngine и Cloud Scheduler.
  3. Экспорт указанных коллекций облачных хранилищ файлов в BigQuery (в виде секционированных таблиц). Используйте AppEngine и Cloud Scheduler.
...