【发布时间】:2020-08-13 13:34:46
【问题描述】:
我想在我的 Snowflake 任务中包含一个条件,以便仅当指定表中有数据时才运行。这将类似于任务条件:
WHEN SYSTEM$STREAM_HAS_DATA('my_schema.my_table')
除非我不想使用流。在某些情况下使用流的问题是流可能会过时。我的 ELT 流程中有一些表格可能几周或几个月都不会收到更新。甚至可能几年。
我的一个想法是在任务条件中使用 UDF:
WHEN PUBLIC.TABLE_HAS_DATA('my_schema.my_table')
如果我能在里面扔一个SELECT CAST(COUNT(1) AS BOOLEAN) FROM "my_schema"."my_table",那就太好了。但是对于作为参数传递的表名,SQL UDF 将无法执行任何操作。在查询表时,Javascript UDF 似乎过于局限。
诚然,我不是 Javascript 程序员。我也不太熟悉 Snowflake 的 Javascript UDF 功能。我可以很好地在 Javascript 存储过程中执行所需的查询。但这些似乎并没有转化为 UDF。
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-task