当前位置: 首页 > 知识库问答 >
问题:

移动数据时,通过云功能进行数据流的好处是什么?

法镜
2023-03-14

我对GCP比较陌生,刚刚开始在GCP上建立/评估我的组织架构。

场景:
数据将流入发布/子主题(高频率,低数据量)。目标是将这些数据移动到Big Table中。据我所知,您可以通过在主题上触发云函数或使用Dataflow来做到这一点。

现在我有以前使用云功能的经验,我对此很满意,所以这将是我的选择。

我看不出选择其中一个的好处。所以我的问题是什么时候选择这些产品?

谢谢

共有2个答案

师谦
2023-03-14

您的需求听起来相对简单,数据流可能对您正在尝试做的事情来说是多余的。如果云函数满足您的需求,他们可能会坚持下去。我经常发现简单性是可运维性的关键。

然而,当您需要执行转换,例如在将这些事件存储到BigTable中之前按用户合并这些事件时,这就是数据流真正发挥作用的地方:

https://beam.apache.org/documentation/programming-guide/#groupbykey

谈琛
2023-03-14

这两种解决方案都可以工作。如果您的发布/订阅流量增长到大量数据,数据流将更好地扩展,但Cloud Functions应该可以很好地处理少量数据;我会查看此页面(尤其是速率限制部分)以确保您适合Cloud Functions:https://cloud.google.com/functions/quotas

另一件需要考虑的事情是,数据流可以保证数据只处理一次,这样就不会在BigTable中出现重复数据。云函数不会在开箱即用的情况下为您做到这一点。如果使用函数方法,则需要确保发布/订阅消息一致地确定写入哪个BigTable单元格;这样,如果函数重试几次,相同的数据只会覆盖相同的BigTable单元格。

 类似资料:
  • 根据我所看到的,在Spring Cloud Dataflow(SCDF)中创建流将部署底层应用程序,绑定通信服务(如RabbitMQ),设置Spring Cloud stream环境变量,并启动应用程序。这一切都可以使用cf push命令轻松手动完成。 同时,我在Spring Cloud Dataflow中遇到了一些缺点: SCDF服务器是PCF上的内存占用者(我有一个只有6个应用程序的流,但我需

  • 在我的新公司,我是一名数据工程师,负责构建google cloud platform(GCP)批处理ETL管道。我的团队的数据科学家最近给了我一个数据模型(用Python3.6编写的.py文件)。 数据模型有一个主函数,我可以调用它并获得一个dataframe作为输出,我打算将这个dataframe附加到一个bigquery表中。我是否可以只导入这个主函数,并使用apache beam(Dataf

  • 本文向大家介绍mysql 通过拷贝数据文件的方式进行数据库迁移实例,包括了mysql 通过拷贝数据文件的方式进行数据库迁移实例的使用技巧和注意事项,需要的朋友参考一下 mysql通过拷贝数据文件的方式进行数据库迁移 --环境windows 将源机器A数据库拷贝到目标机器B: 我先在目标机器B上安装MySQL,停止mysql服务,然后将源机器A的data下关于数据库的文件和ibdata1拷贝过去,其

  • 我们目前正在使用 SpringXD 将数据从各种数据源摄取到接收器。由于 Springxd 计划终止可用性,我们希望迁移到 Spring Cloud 数据流。 < li >我们为SpringXD编写了几个自定义模块。如何在SCDF使用相同的模块。在SCDF使用这些需要做什么改变。 < li >我们的集群配置了kerberos,SCDF支持kerberized kafka和hadoop吗?。 < l

  • 我试图用Cloud Dataflow(Beam Python SDK)将它读写到BigQuery。 读写2000万条记录(约80 MBs)几乎需要30分钟。 查看dataflow DAG,我可以看到将每个CSV行转换为BQ行花费了大部分时间。