【问题标题】:What is the appropriate way to load data from Firestore into BigQuery?将数据从 Firestore 加载到 BigQuery 的适当方法是什么?
【发布时间】:2019-09-18 00:51:22
【问题描述】:

我正在寻找一些方法来从 Firestore 中导出数据,而无需在 BigQuery 和 Data Studio 中使用导出(从长远来看,这是一项昂贵的操作,因为它不支持增量备份)。

1) 使用 Google Pub/Sub。 这可能需要一个函数来写入 pub/sub,然后另一个函数来触发 BQ。

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

使用 Pub/Sub 有什么好处 - 除了从长远来看它会花费更多?

或者还有其他我不知道的方法吗?

我是新手。非常感谢上述场景的一些建议和利弊。

【问题讨论】:

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


    【解决方案1】:

    官方解决方案是here

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

    我认为如果使用 Cloud Functions,您应该使用 PubSub 触发器。

    我推荐像 Pub/Sub 这样的异步架构。因为重播容易,影响范围有限。

    我开发的示例是here。我正在使用 Cloud Scheduler 而不是 cron.yaml。 Cloud Scheduler 的费用为here

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

    【讨论】:

    • 嘿@zkohi。我会在云存储中创建一个 JSON 文档,如下所示:blog.questionable.services/article/…
    • 感谢您的想法和样品。我一定会去看看的!
    • 您想将数据流式传输到 BigQuery 吗?您的链接使用的是Stream data into BigQuery one record
    • 我的答案是像每日 cron 作业一样的计划数据导出。导出指定 Cloud Firestore 集合中的所有数据。
    • 我不建议使用 Firestore onCreate 触发器流式传输数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多