【问题标题】:Data/file number limit in snowflake雪花中的数据/文件数限制
【发布时间】:2022-02-05 11:00:35
【问题描述】:

我正在尝试使用 COPY 命令从 s3 存储桶加载 4,729,699 个文件,并且正在使用试用版。 它返回错误“从阶段返回的文件描述符列表的总大小(> = 1,073,742,040 字节)超出限制(1,073,741,824 字节);返回的文件描述符数> = 4,329,605。请在阶段位置或模式中使用前缀减少文件数量的选项。”

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

【问题讨论】:

标签: snowflake-cloud-data-platform


【解决方案1】:

错误消息中已经提到了最大大小限制:1,073,742,040 字节。

如您所见,它以“字节”为单位,因此与文件的最大数量无关。可以添加到列表中的对象数量取决于文件名的长度。在您的情况下,4,329,605 个文件足以达到限制。这意味着每个文件平均消耗 248 个字节。

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

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

【讨论】:

    【解决方案2】:

    尝试一次加载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 个新文件.

    【讨论】:

      猜你喜欢
      • 2020-08-10
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 2020-12-15
      • 2021-09-02
      • 1970-01-01
      相关资源
      最近更新 更多