gpt4 book ai didi

python - Apache Beam 管道导入错误故障排除 [BoundedSource 对象大于允许的限制]

转载 作者:行者123 更新时间:2023-11-28 17:13:19 24 4
gpt4 key购买 nike

我有一堆文本文件 (~1M) 存储在谷歌云存储上。当我将这些文件读入 Google Cloud DataFlow 管道进行处理时,我总是会收到以下错误:

Total size of the BoundedSource objects returned by BoundedSource.split() operation is larger than the allowable limit

故障排除页面说:

You might encounter this error if you're reading from a very large number of files via TextIO, AvroIO or some other file-based source. The particular limit depends on the details of your source (e.g. embedding schema in AvroIO.Read will allow fewer files), but it is on the order of tens of thousands of files in one pipeline.

这是否意味着我必须将我的文件分成较小的批处理,而不是一次全部导入?

我正在使用 dataflow python sdk 开发管道。

最佳答案

将文件分成多个批处理是一种合理的解决方法 - 例如使用多个 ReadFromText 转换或使用多个管道读取它们。我认为在 1M 文件级别,第一种方法行不通。最好使用一个新功能:

读取大量文件的最佳方法是使用 ReadAllFromText .它没有可扩展性限制(尽管如果您的文件数量非常少,它的性能会更差)。

它将在 Beam 2.2.0 中可用,但如果您愿意使用快照构建,它已经在 HEAD 中可用。

另见 How can I improve performance of TextIO or AvroIO when reading a very large number of files?对于 Java 版本。

关于python - Apache Beam 管道导入错误故障排除 [BoundedSource 对象大于允许的限制],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com