Google cloud platform 谷歌数据流定价流模式
我不熟悉数据流。 我想使用数据流模板“发布/订阅BigQuery”来传输一些消息,比如说每天10000条。 我的问题是关于定价的,因为我不知道流媒体模式下的定价是如何计算的,不管流媒体引擎是否启用。 我使用了谷歌计算器,它要求如下:Google cloud platform 谷歌数据流定价流模式,google-cloud-platform,google-cloud-dataflow,iot,google-cloud-pubsub,Google Cloud Platform,Google Cloud Dataflow,Iot,Google Cloud Pubsub,我不熟悉数据流。 我想使用数据流模板“发布/订阅BigQuery”来传输一些消息,比如说每天10000条。 我的问题是关于定价的,因为我不知道流媒体模式下的定价是如何计算的,不管流媒体引擎是否启用。 我使用了谷歌计算器,它要求如下: 机器类型、作业使用的工作节点数(如果是流式作业或批处理作业)、永久磁盘(PD)的GB数、作业每月运行的小时数 考虑最简单的情况,因为我不需要很多资源,例如 机器类型:n1-1 工人人数上限:1 工作类型:流媒体 价格:美制 案例1:流媒体引擎已禁用 使用vCP
机器类型、作业使用的工作节点数(如果是流式作业或批处理作业)、永久磁盘(PD)的GB数、作业每月运行的小时数 考虑最简单的情况,因为我不需要很多资源,例如
- 机器类型:n1-1
- 工人人数上限:1
- 工作类型:流媒体
- 价格:美制
- 使用vCPU的小时数=730小时(1个月始终处于活动状态)。对于流媒体模式,这总是正确的吗?或者在流媒体模式中可能存在使用率较低的情况
- 持久磁盘:430 GB硬盘,这是默认值
- (vCPU)730 x 0.069美元(成本vCPU/小时)=50.37美元
- (PD)730x0.000054x430GB=16.95美元
- (RAM)730x0.003557x3.75GB=$9.74 总计:77.06美元,经计算器确认
- 使用v CPU的小时数=730小时
- 持久磁盘:30 GB硬盘,这是默认值
- (vCPU)30 x 0.069美元(成本vCPU/小时)=50.37美元
- (PD)30 x 0.000054 x 430 GB=1.18美元
- (RAM)30 x$0.003557 x 3.75 GB=$9.74 总计:$61.29加上处理的数据量(流媒体引擎额外提供)
提前谢谢你 这不是假的,但也不完全准确 在流模式下,您的数据流始终侦听PubSub订阅,因此您需要全天更新 在批处理中,您通常启动批处理,它执行其工作,然后停止 在您的比较中,您认为有一个运行全职的批作业。这不是不可能的,但我认为它不适合您的用例
关于流式处理和批处理,这一切都取决于您对实时性的需求
- 如果您希望以低延迟(几秒钟内)接收BigQuery中的数据以获得实时数据,流式处理是一个不错的选择
- 如果数据仅每小时或每天更新一次,则批处理是更合适的解决方案
一个最新的评论,如果你的任务只是从PubSub得到消息,并流写BigQuery,你可以考虑在云运行或云函数上对自己进行编码。每天只有10万条信息,这将是免费的
感谢您宝贵的回复,它给了我一个关于使用云函数的不同实现的很好的提示。然而,回到Dataflow,我提到的流引擎选项,在流模式中,我没有考虑批处理模式。看一看()。批处理模式可能更适合我的用例,但我正在寻找一个模板化的解决方案,并且从发布/订阅导入的唯一模板是那些处于流模式的模板。让我知道!是当前模板仅在流媒体中。但是如果你想停用流媒体或自定义流媒体,你可以从开始编写自己的。嗨@guillaumeblaquiere,我尝试了云功能。它很管用,非常适合我。但是,我想将其与Dataflow中的批处理解决方案进行比较,即编辑pubsubBigQuery.java模板。我仍然有一个问题,read-FromSubscription方法返回一个PCollection,但我需要一个无界源。然后将其转换为BoundedSource,并将管道应用于有限数量的数据。你能给我一些提示吗?提前谢谢!以前(几年前)可以将streaming参数设置为false并批量使用PubSub。我今晚又测试了一次,现在不可能了:(