雪花中的数据/文件编号限制



Am正在尝试使用COPY命令从s3存储桶加载4729699个文件,并且正在使用试用版。它返回一个错误";从阶段返回的文件描述符列表的总大小(>=1073742040字节(超过限制(1073741824字节(;返回的文件描述符数>请在阶段位置或模式选项中使用前缀以减少文件数量">

我可以知道雪花试用版的最大尺寸限制是多少吗?如果购买,它是否会增加。

错误消息中已经提到了最大大小限制:1073742040字节。

正如你所看到的,它是通过";字节";,所以这和文件的最大数量无关。可以添加到列表中的对象数量取决于文件名的长度。在您的案例中,4329605个文件足以达到限制。这意味着每个文件平均消耗248个字节。

如错误消息中所述,作为解决方法,您可以使用前缀或模式来减少文件数量。

这不是试用帐户的特定限制。如果您需要提高限额,您可以联系Snowflake支持并描述要求。

尝试一次加载4,729,699是个坏主意。其中一个确实奏效了。第二,即使它有时起作用,从失败中恢复也会很糟糕。

Gokhan,是正确的,这不是一个试验限制。

S3中有4M个对象的典型原因有两个:

  • 您有N年的数据。对于这种情况,不尝试加载/data/加载/data/2019/,然后加载/data/2020/,这样从S3返回的对象列表将符合限制
  • 你已经转储了一个大数据库。在这种情况下,假设某个块基前缀/后缀尝试加载a*.files,然后b*.files

虽然加载文件是线性的,但当你有一个坏文件要处理,并且你只花了7个小时(虚构的数字(加载1TB的数据,你发现了一个问题,需要重新完成整个过程,当你学会如何正确构建查询时,较小的批处理会让这一切变得更容易。

批处理文件加载的另一个原因是来自云文件存储的响应更快。如果您正在进行加载,每10分钟加载一次,则不需要最近4天或2周、6个月或7年的文件列表,而每小时只有3个新文件。

最新更新