首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么雪花里有内部舞台?

为什么雪花里有内部舞台?
EN

Stack Overflow用户
提问于 2021-09-09 17:20:14
回答 3查看 985关注 0票数 5

内部阶段的概念是误导的,或者我是不正确地解释这一点。请纠正我的理解。根据文件

可以在三个云platforms(AWS/Azure/GCP).

  • So中的任意一个托管
  1. 雪花帐户--这意味着雪花体系结构的所有三层(存储、计算和云服务)都是在这些选定的云平台上部署和管理的。
  2. 和现在的雪花表示云存储中数据文件的位置。因此,关于第2点,因为存储总是部署在任何公共云(AWS/Azure/GCP)级上--理论上/隐式地指这些外部阶段--总是对吗?如果这种解释是正确的,为什么首先有一个内部阶段的概念呢?
EN

回答 3

Stack Overflow用户

发布于 2021-09-10 17:57:49

外部阶段由您(客户)管理,您可以随意安排文件/保护其中的文件。然后,当您想要将数据从外部阶段加载到雪花中时,只需引用这些外部阶段。

内部阶段由雪花管理,您可以将PUT文件放入其中,其他所有内容都由雪花管理。雪花内部阶段的储存是从你的抽象出来的。当我说PUT时,可以使用接受本地文件并将其上传到内部阶段的雪花CLI来运行这个命令。

为什么内部阶段存在?我想大概是这样的:

为了灵活起见,可以使用雪花的内部blob存储(不管是什么),也可以使用自己的存储来生成数据。

  • 您可以使用雪花并将数据快速加载到表中,而无需自己的blob存储。

  • 使非管理员用户更容易使用。雪花的最终用户可以将数据加载到自己的表中,而不必知道如何使用s3/azure blob/GCS等。每个用户都可以在~上获得自己的内部阶段区域,就像主目录一样。另外,每个表都有自己的内部阶段,您可以将其put到.

中。

票数 3
EN

Stack Overflow用户

发布于 2021-09-10 06:11:30

雪花特有的概念是舞台,它是在将数据加载到目标表之前的最后一个位置。

  1. 用户阶段,@~ (内部)每个用户都有自己的用户,您可以使用桌面上的PUT命令(即prem到cloud )将文件加载到其中。这个位置也恰好是存储工作表的地方!
  2. 表阶段,@% (内部)每个表都有一个,您可以将文件放在那里准备加载到表
  3. ,@(内部或外部),当外部文件以您使用的任何方法(可能是放置)降落在S3桶中时。当内部,他们被加载到雪花自己的S3桶,使用PUT。区别是什么?如果文件在加载前就在那里,您将完全从外部管理内容,这包括加密和压缩。雪花做所有的管理,如果是内部的话。--

所有作为外部或内部文件承载的内容都必须复制到雪花表(COPY命令)中,以利用雪花的专有微分区、存储机制和类似于零拷贝克隆之类的东西。或者,您仍然可以将文件保存在S3桶中作为外部阶段,但将文件注册为外部表到雪花,并能够在其上运行SQL。这些是csv,parquet,avro,orc和json。当然,您没有得到上面列出的好处。

基本上,在加载到雪花表之前,所有内容都是一个文件(顺便说一句,使用改进的压缩算法也可以实现更好的压缩)

阅读:https://docs.snowflake.com/en/user-guide/data-load-overview.html

票数 2
EN

Stack Overflow用户

发布于 2021-09-09 17:36:56

内部阶段是雪片提供的储存,并支付给你。外部阶段是指由客户拥有和支付的存储。

您是正确的,这仍然是一个公共云资源,但内部阶段是不可访问的,除了雪花或雪花连接器。因此,它是“内部”的。

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

https://stackoverflow.com/questions/69122362

复制
相关文章

相似问题

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