当前位置: 首页 > 知识库问答 >
问题:

apache beam管道导入错误疑难解答[BoundedSource对象大于允许的限制]

孟胤
2023-03-14

我有一堆文本文件(约100万个)存储在谷歌云存储上。当我将这些文件读入Google云数据流管道进行处理时,总是会出现以下错误:

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

故障排除页面显示:

如果您通过TextIO、AvroIO或其他基于文件的源从大量文件中读取文件,您可能会遇到此错误。特定限制取决于您的源的详细信息(例如,在AvroIO. Read中嵌入模式将允许更少的文件),但它是一个管道中数以万计的文件。

这是否意味着我必须将文件拆分为更小的批,而不是一次全部导入?

我正在使用数据流python sdk来开发管道。

共有1个答案

邬宜然
2023-03-14

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

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

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

另请参见如何在读取大量文件时提高TextIO或AvroIO的性能?对于Java版本。

 类似资料:
  • 如果你发现不管你在 URL 里面写什么都只是出现缺省页面的话,有可能是你的服务器不支持 PATH_INFO 变量,它被用来提供搜索引擎友好的 URL。解决这个问题的第一步是打开 application/config/config.php 文件,查找 URI Protocol 信息。在那里推荐你去尝试一些其他的设置方法。如果这些方法都无效,你就需要让 CodeIgniter 去强行加一个问号去标记你

  • 如果你发现无论输入什么 URL 都只显示默认页面的话,那么可能是你的服务器不支持 PATH_INFO 变量,该变量用来提供搜索引擎友好的 URL 。 解决这个问题的第一步是打开 application/config/config.php 文件, 找到 URI Protocol 信息,根据注释提示,该值可以有几种不同的设置方式, 你可以逐个尝试一下。 如果还是不起作用,你需要让 CodeIgnite

  • Table of Contents Smarty/PHP errors错误 Smarty can catch many errors such as missing tag attributes or malformed variable names. If this happens, you will see an error similar to the following: Smarty能够

  • This page lists solutions to common shadow problems. 此页面列出了常见阴影问题解决方案。Desktop I see no shadows at all! 所有物体都没有看到阴影! Shadows are a Unity Pro only feature, so without Unity Pro you won't get shadows. Si

  • 如何对PHP的邮件功能进行故障排除?下面的代码(显然我有我的实际电子邮件地址)输出错误,我没有收到消息: 我的php.ini具有CentOS 6.3最小设置的默认设置: 我通过SSH尝试了以下方法,效果很好。我收到了我的gmail帐户的消息: 我应该从这里去哪里解决这个问题?

  • URL正确吗? 本地端机器的秘密锁的设定正确吗? 远端的公开锁的设定正确吗? 若要确认贝格乐数据库的密码锁/公开锁的设定是否正确,请执行以下命令。 $ ssh <space>@<space>.git.backlogtool.com 用合适的空间替换<space> ,例如:用"demo@demo.git.backlogtool.com" 替换 "demo.backlogtool.com"。 设定正确