在表中输入数据时运行小脚本
Posted
技术标签:
【中文标题】在表中输入数据时运行小脚本【英文标题】:Running small scripts upon data entry in a table 【发布时间】:2021-05-03 16:41:02 【问题描述】:我在雪花文档的任何地方都没有找到此信息,所以我决定在这里询问。 当雪花表中有新数据条目时,我的用例要求我运行一个小脚本。我知道雪花支持 SQL 任务,但我的要求更数学化,我需要一个合适的脚本来解决它。我对脚本的语言很灵活,但我想知道这个工作流程是否有持续集成。
我知道运行托管在某个云平台上的按需实例的替代解决方案,但我想知道在 Snowflake 托管仓库中是否可以执行类似的操作。
不胜感激。提前致谢。
【问题讨论】:
如何导入数据?为什么任务和流在这种情况下不起作用? @FelipeHoffa 我想我只是迷失在文档中。 Francesco 的回答告诉我使用相同想法的程序,这很清楚。任务和流将为我解决这个问题。谢谢! 【参考方案1】:您可以使用 Steam 和任务实现您的目标:
-
在您的表上创建一个流(APPEND_ONLY = TRUE 可能,因为您只需要搜索新条目);
创建一个Stored Procedure(从今天起您需要用 javascript 编写它),它使用 Stream 并执行您需要的计算;
创建一个计划为每 1 分钟运行一次的任务,并且仅当流不为空 (SYSTEM$STREAM_HAS_DATA('<stream_name>')) 时才会在 (2) 处运行存储过程
【讨论】:
这将解决我的用例。仅 JS 的限制很烦人,但我想我至少可以基于此开始。非常感谢!以上是关于在表中输入数据时运行小脚本的主要内容,如果未能解决你的问题,请参考以下文章