将数据从Firestore加载到BigQuery的合适方法是什么?

时间:2019-04-29 11:42:31

标签: firebase google-bigquery google-cloud-firestore google-cloud-pubsub google-data-studio

我正在研究几种方法,以便在BigQuery和Data Studio中使用不使用导出的数据(从长远来看,该操作很昂贵,因为它不支持增量备份),从而从Firestore导出数据。

1)使用Google Pub / Sub。 这可能需要先写入pub / sub,然后再写入BQ的函数。

2)使用Cloud Functions从onCreate事件触发以直接写入BigQuery数据集和表。 (这是使用table.insert的)

使用Pub / Sub的好处是什么-除了从长远来看会花费更多的钱之外?

还是我不知道要这样做吗?

我是新来的。对于上述情况的一些建议和利弊,我们深表感谢。

1 个答案:

答案 0 :(得分:1)

官方解决方案是here

如果使用Cloud Functions从onCreate事件触发,您将创建什么?在Cloud Storage上创建文件还是创建Firestore文档?

我认为,在使用Cloud Functions的情况下,您应该使用PubSub触发器。

我建议使用异步架构,例如Pub / Sub。因为重新运行很容易并且影响范围是有限的。

我开发的示例是here。我使用的不是A a = {1};的Cloud Scheduler。 Cloud Scheduler的费用为here

  1. (如果需要)将Firebase身份验证用户导出到Cloud Firestore Collection。使用Firestore,Cloud Functions(PubSub)和Cloud Scheduler。
  2. 将所有Cloud Firestore集合和指定的集合导出到Cloud Storage。使用AppEngine和Cloud Scheduler。
  3. 将指定的Cloud Firestore集合导出到BigQuery(作为分区表)。使用AppEngine和Cloud Scheduler。