【发布时间】:2020-12-15 01:34:27
【问题描述】:
我正在使用默认数据流模板 GCS 来发布/订阅。云存储中的输入文件,大小为 300MB,每个文件有 2-3 百万行。
启动数据流批处理作业时,会引发以下错误
来自工作人员的错误消息:javax.naming.SizeLimitExceededException:Pub/Sub 消息大小 (1089680070) 超过了最大批处理大小 (7500000) org.apache.beam.sdk.io.gcp.pubsub.PubsubIO$Write$PubsubBoundedWriter.processElement(PubsubIO.java:1160)
来自文档:Pub/Sub 一个批次最多接受 1,000 条消息,并且一个批次的大小不能超过 10 兆字节。
这是否意味着我必须将输入文件拆分为 10MB 块或 1000 条消息才能发布?
将如此大的文件(每个 300MB)加载到 pubsub 的推荐方法是什么?
提前感谢您的帮助。
【问题讨论】:
-
您是否尝试过创建自定义模板并将“MaxBatchBytesSize”增加到更大的值?
标签: google-cloud-platform google-cloud-storage google-cloud-pubsub google-dataflow