Snowflake cloud data platform 如何增加雪管仓库的规模

Snowflake cloud data platform 如何增加雪管仓库的规模,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我知道雪地管使用内部仓库雪地管 但是有一个要求,我需要使用snowpipe加载30GB大小的大型单个文件(连续数据接收,文件每周到达S3一次,但任何时候都可以) 我们无法控制分割文件或更改格式 是否有一种方法可以将雪管仓库的大小定义为大或大 或者,如果不是这样,那么处理这种情况的最佳方法是什么,以便更快地加载文件?Snowpipe使用Snowflake提供的计算资源,因此无法设置仓库的大小。Snowpipe的操作与直接运行复制命令没有什么不同。仓库的大小对单个文件的加载速度没有影响。更大的仓库的

我知道雪地管使用内部仓库雪地管

但是有一个要求,我需要使用snowpipe加载30GB大小的大型单个文件(连续数据接收,文件每周到达S3一次,但任何时候都可以)

我们无法控制分割文件或更改格式

是否有一种方法可以将雪管仓库的大小定义为大或大


或者,如果不是这样,那么处理这种情况的最佳方法是什么,以便更快地加载文件?Snowpipe使用Snowflake提供的计算资源,因此无法设置仓库的大小。

Snowpipe的操作与直接运行复制命令没有什么不同。仓库的大小对单个文件的加载速度没有影响。更大的仓库的好处是可以并行加载的文件数量,这就是为什么最佳做法是将文件拆分为更小的部分。如果您确实没有能力分割文件(或者创建一个Lambda进程来分割您在S3上的文件),那么您无法控制该文件加载到Snowflake中的速度


我将探讨您是否能够使用Lambda或其他脚本来运行命令,该脚本将一个文件拆分为多个文件,并将这些较小的文件放入Snowpipe S3存储桶中。如果您能做到这一点,Snowpipe将并行加载文件,并且对您来说效率更高。

对此我不是很确定。我做了测试,你的陈述对我来说似乎不正确。如果我遗漏了什么,请纠正我。我使用snowpipe加载了一个7gb的单个文件,耗时13分钟。现在我测试了使用仓库大小XLarge手动将相同的文件加载到不同的表中,并在7分钟内完成。因此,从技术上讲,仓库大小甚至影响加载单个文件。您是否尝试过在XS仓库中加载相同的单个文件?复制到每个文件只利用一个线程。因此,XS仓库有8个线程,因此COPY命令只使用其中的1个线程。如果使用XL,它仍然只使用XL拥有的128个线程中的1个。假设仓库中有可用的线程来运行这些线程,则不会有任何区别。如果您发现Snowpipe比您在复制命令(单文件!!!!)上看到的慢,我建议您提供一张支持票来解释为什么会出现这种情况。还有一些事情正在发生。。我可以确认我尝试用Xsmall加载了一个13GB的文件,运行了半个小时,只完成了10%,所以我中止了查询。下一步,我用同一个文件在大仓库重新运行同一份副本,并在20分钟内完成副本。你能分享你的副本声明吗?您是否在其中执行了大量的强制转换或其他转换逻辑?您的文件大于我们建议的大小,如果您正在进行大量转换,您可能会创建一些小型仓库无法很好处理的额外工作。建议是……不要那样做。直接将数据加载到瞬态表中,然后在Snowflake中直接运行转换。这使您能够(a)更快地在雪管或其他设备中摄入,以及(b)对执行转换步骤所需的仓库大小进行更多的控制。而且,这两个步骤的总时间将少于您现在执行的1个步骤的过程……当然,假设您具有转换逻辑。