我将默认的数据流模板GCS用于Pub/Sub。云存储中的输入文件大小为300 of,每一行有2-3百万行。
启动数据流批处理作业时,会引发以下错误
来自工作人员的错误消息: org.apache.beam.sdk.io.gcp.pubsub.PubsubIO$Write$PubsubBoundedWriter.processElement(PubsubIO.java:1160):javax.naming.SizeLimitExceededException: Pub/Sub消息大小(1089680070)超过最大批处理大小(7500000)
从文档中可以看到: Pub/Sub在一批中最多接受1,000条消息,并且批处理的大小不能超过10 10。
这是否意味着我必须将输入文件拆分为10 or块或1000条消息才能发布?
建议如何将这样大的文件(每个文件300 is )加载到pubsub?
提前谢谢你的帮助。
发布于 2020-08-27 00:10:49
这是已知的数据流方面的限制,此时存在一个特征请求来增加批处理的大小。使用+1按钮并按星号来跟踪问题的进展。
我建议您在建议解决方法的地方检查这个帖子。重要的是要考虑到这一解决方案意味着修改云存储文本到Pub/Sub模板以实现上面提到的自定义转换。
另一方面,您可以尝试创建云函数来拆分文件,然后由Dataflow处理,我认为:
https://stackoverflow.com/questions/63594443
复制相似问题