以下两种情况在性能上有什么区别,其中一种在执行和存储方面进行了成本优化。
答案 0 :(得分:0)
好-如果您想尽可能多地使用Snowflake平台的功能(下拉优化),则需要先将数据尽可能高效地放入Snowflake,然后对它运行SQL查询((过滤器,聚合器等)。使用COPY将S3 / Azure / Google文件移动到Snowflake表中,然后对它们运行INSERT ... SELECT。
没有理由创建EXTERNAL表,如果这样做,它的性能将比我建议的方法差很多。
外部表格-简短说明
为简单起见,我们假设您的Snowflake实例在AWS上运行,并且S3存储桶中还有一些文件。
Snowflake将所有Snowflake数据存储在S3中,但是是以高度压缩和优化的格式存储的。 Snowflake保留了有关数据的位置和内容的元数据,使它可以将数据显示为表/列。
外部表基本上是一回事:Snowflake在S3存储桶中保存有关文件的元数据,从而使它可以将数据呈现为表/列。区别在于:
希望这有帮助吗?