在 Snowflake 中克隆的表可以成为源吗?
Posted
技术标签:
【中文标题】在 Snowflake 中克隆的表可以成为源吗?【英文标题】:Can a table cloned in Snowflake become the source? 【发布时间】:2020-08-27 14:12:18 【问题描述】:在雪花中:
我要克隆源代码 对克隆执行操作 将克隆转为源 删除原始来源在阅读文档时,我将克隆解释为与源相同的唯一、独立对象。所以,在我的脑海里,我可以创建一个克隆并删除源代码,然后就可以了。有人在 prod 环境中这样做过吗?
感谢您的指导。我们已经测试了这个理论,除了丢失时间旅行和旧源上的文件加载历史之外,它看起来没有任何副作用;但我们可以接受。
【问题讨论】:
【参考方案1】:是的,您可以创建一个克隆并删除克隆的“源”。您也可以通过使用事务来实现相同的效果,但代码更简单:
begin transaction;
[do operation 1 on source table];
[do operation 2 on source table];
commit;
【讨论】:
【参考方案2】:我猜你的用例可能和我的用例一样。
正如西蒙所说,这是可能的,但使用克隆,您需要注意访问控制权限。另请注意,您将丢失源表的加载历史记录。此外,如果克隆表,则表克隆的历史数据从创建克隆的时间/点开始
Access Control Privileges for Cloned Objects
A cloned object does not retain any granted privileges on the source object itself (i.e. clones do not automatically have the same privileges as their sources). A system administrator or the owner of the cloned object must explicitly grant any required privileges to the newly-created clone.
However, if the source object is a database or schema, for child objects contained in the source, the clone replicates all granted privileges on the corresponding child objects:
For databases, contained objects include schemas, tables, views, etc.
For schemas, contained objects include tables, views, etc.
【讨论】:
以上是关于在 Snowflake 中克隆的表可以成为源吗?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从现有视图加载到 Snowflake 中的表并安排它每天运行 - 增量
Snowflake 中对非常大的表进行删除操作的最佳方法是啥?