gpt4 book ai didi

machine-learning - GCP - 创建数据流(Pub/Sub -> 预测(ML 模型) -> BigQuery/Firebase)

转载 作者:行者123 更新时间:2023-11-30 09:30:46 25 4
gpt4 key购买 nike

我是 GCP 新手,我想为我的项目创建一个数据流。长话短说,我的设备将数据发送到 Pub/Sub,之后,我想使用 ML 模型进行预测,然后将所有这些输出到 BigQuery 和实时 Firebase 数据库。我找到了这个article from google (我查看了 Stream + Micro-batching 但未能实现它)和这个 github repository但我真的不知道如何运行它,如果有人可以帮助我,我将非常感激。

使用云功能来实现所有这些是不是更容易?

最佳答案

有多种方法可以解决您的用例。

首先,我不确定是否需要 Dataflow。数据流非常适合数据转换或数据比较,如文章中所述,但我不确定这是否是您的用例。如果是这样,这里有几个建议(如果您愿意,我们可以深入研究一个)

  • 较便宜的方案不可扩展:在您的 PubSub 主题上设置请求订阅。然后,设置一个 Cloud Scheduler,每 2 分钟调用一次 HTTP 服务(例如 Cloud Function 或 Cloud Run)。 HTTP 服务将拉取订阅。对于每条消息,它都会执行预测并将结果存储在内存中(在数组中)。处理完所有消息后,您可以在 BigQuery 中执行加载作业(或在数据存储区中批量插入)。

此解决方案更便宜,因为您通过微批量处理消息(处理时间更高效),并且在 BigQuery 中执行加载作业(与流式传输相比是免费的)。但是,它不可扩展,因为您在触发加载作业之前将数据保存在内存中。如果您的数据越来越多,您可以达到 Cloud Run 或 Cloud Function 2Gb 的内存限制。增加调度程序频率不是一个选项,因为您每天有 1000 个加载作业的配额(1 天 = 1440 分钟 -> 因此,不可能每分钟都有)。

  • 最简单的方法也是最昂贵的:在您的 pubSub 上插入一个 HTTP 服务(Cloud Run 或 Cloud Function -> Cloud Run 仅适用于推送订阅,Cloud Function 适用于拉取和推送订阅)。对于每条消息,都会调用 HTTP 服务并执行预测,然后将数据流写入 BigQuery

该解决方案具有高度可扩展性,也是最昂贵的解决方案。我建议您使用 Cloud Run,它允许同时处理多条消息,从而减少计费实例处理时间。 (我写了an article on this)

最终,如果您不需要尽快处理消息,最好的选择是混合执行这两种操作:安排微批处理来拉取 pubsub 拉取订阅。对于每条消息执行预测并将流写入 BigQuery(以防止内存溢出)。

如果您确实需要在流程中使用 Dataflow,请详细描述您想要实现的目标,以获得更好的建议。

无论如何,我同意 @JohnHanley 的评论,执行 Qwiklabs 来了解您可以使用该平台做什么!

关于machine-learning - GCP - 创建数据流(Pub/Sub -> 预测(ML 模型) -> BigQuery/Firebase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59037192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com