有没有一种更好的方法可以在不删除现有表的情况下更新Snowflake数据仓库中的表的架构?

时间:2019-01-16 22:18:43

标签: jenkins snowflake-datawarehouse

我们最近开始在我们的项目中使用Snowflake数据仓库,但遇到了一个问题。表格和视图创建脚本已上载到Git存储库,并通过Jenkins执行。对于雪花表创建脚本的任何更新(添加或删除列),我们都必须删除并重新创建雪花表。这会导致表中数据丢失,这是不希望的。

每次删除并重新创建表时,数据都会丢失,我们必须手动将所有数据加载到新创建的表中。这既耗时又导致不必要的停机时间。 我们的表创建脚本对于所有环境都是通用的,并且以前是为HIVE设计的。相同的扩展到雪花,只有在对主要雪花表进行任何模式更改时,我们才面临问题。

当我们向表中添加新列时,ALTER命令也不能解决我们的问题。我正在寻找可以将更改部署到表或可以在不删除基础数据的情况下修改表的任何工具或过程。

在阅读Snowflake文档之后,我考虑了Oracle SQL开发人员数据建模器(SDDM),但是找不到任何合适的方法来更改已创建的表。我所发现的就是如何通过该工具连接到雪花并从那里进行导入。雪花文档链中提到了其他一些工具,例如Sqitch和Dataedo,但它们似乎不符合我的要求。

到雪花文档社区的链接如下。 https://snowflakecommunity.force.com/s/question/0D50Z00007v6qQbSAI/what-schema-management-tools-are-there-for-snowflake

任何人都可以建议任何工具或过程来解决我的问题。预先感谢

2 个答案:

答案 0 :(得分:2)

假设您要自动创建Snowflake Alter Table语句,则可能需要查看FlywayDB。它支持使用免费和付费版本捕获Snowflake的DDL更改。它是由Redgate制造的,该公司在SQL Server架构比较和迁移方面具有悠久的历史。

答案 1 :(得分:0)

您尝试过SqlDBM吗?它是唯一可用于设计/建模/可视化雪花数据仓库的工具。这是具有非常友好的用户界面的在线工具。

在此处详细了解:http://blog.sqldbm.com/snowflake-data-modelling-with-sqldbm/

动手演示:https://app.sqldbm.com/Snowflake/Draft/

enter image description here