首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自S3的雪花负载数据(复制)与来自外部表的加载

来自S3的雪花负载数据(复制)与来自外部表的加载
EN

Stack Overflow用户
提问于 2020-09-17 06:26:34
回答 1查看 1.1K关注 0票数 0

以下两种情况下的性能有什么不同,一种是在执行和存储的情况下对成本进行优化。

  1. 用S3中的文件创建外部表,并从外部表将“插入.选择.”加载到雪花目标。
  2. 将数据从S3加载到临时表,然后从临时表加载(“INSERT.SELECT.”)到雪花目标。
EN

回答 1

Stack Overflow用户

发布于 2020-09-17 11:37:15

好的-如果您想尽可能多地使用雪花平台的功能(推倒优化),那么您需要首先尽可能高效地将数据导入雪花,然后针对它运行SQL查询(连接、筛选、聚合器等)。使用“复制”将S3/Azure/Google文件移动到雪花表中,然后运行INSERT.针对这些进行选择。

没有理由创建外部表,如果您创建了外部表,它的性能将比我建议的方法糟糕得多。

外部表-简短说明

为了简单起见,让我们假设您的雪花实例运行在AWS上,并且在S3桶中也有一些文件。

所有雪花数据都是由雪花存储在S3中的,但都是压缩和优化格式的。雪花保存关于数据的位置和内容的元数据,这些元数据允许它将数据表示为表/列。

外部表基本上是完全相同的:雪花保存关于您的S3桶中的文件的元数据,允许它将数据表示为表/列。差异在于:

外部数据没有被压缩/优化,因此它占用更多的存储空间,而且query

  • Effectively,速度更慢。外部表的查询引擎是S3环境(除非/直到雪花将数据读入内存/缓存,然后才能像处理雪花数据一样处理数据)

  • 可能存在一些网络延迟因素--取决于您的雪花帐户和S3桶位于全局AWS

  • 中的位置

希望这能帮上忙?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63932394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档