【发布时间】:2019-06-11 01:58:23
【问题描述】:
我们最近开始在我们的项目中使用 Snowflake 数据仓库,但遇到了一个问题。表和视图创建脚本已上传到 Git 存储库并通过 Jenkins 执行。对于雪花中表创建脚本的任何更新(列添加或删除),我们必须删除并重新创建雪花中的表。这会导致表中的数据丢失,这是不可取的。
每次我们删除并重新创建表时,数据都会丢失,我们必须手动将所有数据加载到新创建的表中。这既费时又导致不必要的停机时间。 我们的表创建脚本对所有环境都是通用的,并且之前是为 HIVE 设计的。同样扩展到雪花,我们仅在对主雪花表进行任何模式更改时才会遇到问题。
当我们向表中添加新列时,ALTER 命令也不能解决我们的问题。我正在寻找可以将更改部署到表或可以在不删除基础数据的情况下修改表的任何工具或过程。
在浏览了 Snowflake 文档后,我考虑使用 Oracle SQL 开发人员数据建模器 (SDDM),但我找不到任何合适的方法来更改已创建的表。我发现的只是如何从该工具连接到雪花并从那里进行导入。雪花文档链中提到了 Sqitch 和 Dataedo 等其他工具,但它们似乎不符合我的要求。
谁能建议任何工具或流程来解决我的问题。在此先感谢
【问题讨论】:
-
Snowflake 支持使用 ALTER 添加和删除列。你能举例说明为什么 ALTER 不适合你吗?一般而言,更详细地描述您正在做的更改类型可能有助于提供答案。
标签: jenkins snowflake-cloud-data-platform