使用变量在雪花中创建任务
using variables to create tasks in snowflake
我想在雪花中创建任务时使用变量。下面举例:
- 而不是这个:
创建或替换任务 BEAST_DSC_SBX.DSC_STG。DTCI_DSC_R2O_AVAIL_INCREMENTAL_TRUNCATE
仓库 = 'BEAST_DSC_ADHOC_WH_SBX' 计划 = '10 分钟' 当系统 $STREAM_HAS_DATA('BEAST_DSC_SBX.KAFKA.DTCI_DSC_R2O_AVAIL_CHANGES') = True
作为
截断 TABLE BEAST_DSC_SBX.DSC_STG.DTCI_DSC_R2O_AVAIL_INCREMENTAL;
- 我想用这个:
设置STG_SCHEMA_NAME='BEAST_DSC_SBX.DSC_STG';
SET KAFKA_SCHEMA_NAME = 'BEAST_DSC_SBX.KAFKA';
创建或替换任务 $STG_SCHEMA_NAME.DTCI_DSC_R2O_AVAIL_INCREMENTAL_TRUNCATE
WAREHOUSE = $WAREHOUSE SCHEDULE = '10 MINUTE' WHEN SYSTEM$STREAM_HAS_DATA($KAFKA_SCHEMA_NAME'.DTCI_DSC_R2O_AVAIL_CHANGES') = True
作为
截断 TABLE $STG_SCHEMA_NAME.DTCI_DSC_R2O_AVAIL_INCREMENTAL;
我在执行上述操作时遇到错误。甚至可以改变雪花任务吗?如果是,怎么做?
您不能在 Snowflake UI 中使用文本和变量的组合创建任务名称。那不行。
解决方法是使用 SnowSQL 并使用此格式:
&{<variable>}_<TEXT>
请参考这篇知识库文章作为示例:https://community.snowflake.com/s/article/How-to-use-variable-when-creating-user-account-in-Snowflake-UI-and-SnowSQL
在上面的知识库文章中,我们展示了您可以像这样组合 SnowSQL 中的文本和变量:
create USER &{DIV}_LOCAL_&{ENV}_ADMIN`
PASSWORD = '&passwd'
LOGIN_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
COMMENT = "&DIV &ENV local account admin user"
DISPLAY_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
FIRST_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
LAST_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
EMAIL = 'test@test.com'
MUST_CHANGE_PASSWORD = TRUE;
上面的例子是创建用户,创建任务可以采用SQL语句
我想在雪花中创建任务时使用变量。下面举例:
- 而不是这个:
创建或替换任务 BEAST_DSC_SBX.DSC_STG。DTCI_DSC_R2O_AVAIL_INCREMENTAL_TRUNCATE 仓库 = 'BEAST_DSC_ADHOC_WH_SBX' 计划 = '10 分钟' 当系统 $STREAM_HAS_DATA('BEAST_DSC_SBX.KAFKA.DTCI_DSC_R2O_AVAIL_CHANGES') = True 作为 截断 TABLE BEAST_DSC_SBX.DSC_STG.DTCI_DSC_R2O_AVAIL_INCREMENTAL;
- 我想用这个:
设置STG_SCHEMA_NAME='BEAST_DSC_SBX.DSC_STG'; SET KAFKA_SCHEMA_NAME = 'BEAST_DSC_SBX.KAFKA';
创建或替换任务 $STG_SCHEMA_NAME.DTCI_DSC_R2O_AVAIL_INCREMENTAL_TRUNCATE WAREHOUSE = $WAREHOUSE SCHEDULE = '10 MINUTE' WHEN SYSTEM$STREAM_HAS_DATA($KAFKA_SCHEMA_NAME'.DTCI_DSC_R2O_AVAIL_CHANGES') = True 作为 截断 TABLE $STG_SCHEMA_NAME.DTCI_DSC_R2O_AVAIL_INCREMENTAL;
我在执行上述操作时遇到错误。甚至可以改变雪花任务吗?如果是,怎么做?
您不能在 Snowflake UI 中使用文本和变量的组合创建任务名称。那不行。
解决方法是使用 SnowSQL 并使用此格式:
&{<variable>}_<TEXT>
请参考这篇知识库文章作为示例:https://community.snowflake.com/s/article/How-to-use-variable-when-creating-user-account-in-Snowflake-UI-and-SnowSQL
在上面的知识库文章中,我们展示了您可以像这样组合 SnowSQL 中的文本和变量:
create USER &{DIV}_LOCAL_&{ENV}_ADMIN`
PASSWORD = '&passwd'
LOGIN_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
COMMENT = "&DIV &ENV local account admin user"
DISPLAY_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
FIRST_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
LAST_NAME = '&{DIV}_LOCAL_&{ENV}_ADMIN'
EMAIL = 'test@test.com'
MUST_CHANGE_PASSWORD = TRUE;
上面的例子是创建用户,创建任务可以采用SQL语句