首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于GCS通知的Beam DataFlow ReadFromPubSub id_label

问用于GCS通知的Beam DataFlow ReadFromPubSub id_label
EN

Stack Overflow用户
提问于 2022-04-28 04:49:44
回答 1查看 99关注 0票数 0

目前,我正在使用DataFlow进行流处理,将上传的blobs从GCS迁移到BigQuery。但是,我发现有几条指向同一个objectId的pub/sub消息导致了BigQuery端的复制。

我知道GCS通知保证至少一次传递,因此对于给定的blob文件,我可能会有重复的pub/sub消息。

我阅读了Python文档,它可以使用id_label作为唯一的记录标识符。为了根据blob文件名去重复,我尝试在attributes.objectId args上插入id_label。尽管如此,它似乎不起作用(我仍然收到重复的消息):

代码语言:javascript
复制
| "Read from pub/sub topic" >> ReadFromPubSub( topic=config["prod"]["input_pubsub"], with_attributes=True, id_label="attributes.objectId")

注意:我使用的是BeamPythonSDK2.38.0

EN

回答 1

Stack Overflow用户

发布于 2022-05-03 18:11:30

这是因为数据流方面的去重复是最好的努力。

数据流会在10分钟内将发布到Pub/Sub的消息进行重复。

见https://cloud.google.com/dataflow/docs/concepts/streaming-with-cloud-pubsub#efficient_deduplication。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72038174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档