【问题标题】:Trigger Snowflake task when data pushed to Snowflake stage数据推送到 Snowflake 阶段时触发 Snowflake 任务
【发布时间】:2021-09-08 18:02:37
【问题描述】:

我有 1 个雪花内部阶段,我通过 snowsql 推送 json 文件数据。然后我将使用雪花 UI 运行一些查询。目前都是手动的,有没有办法在我把数据放到舞台上的时候触发雪花任务?

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    没有办法触发雪花任务,只能安排它。但是,您可以根据条件阻止任务按特定计划运行。目前,唯一支持的条件是 SYSTEM$STREAM_HAS_DATA:

    https://docs.snowflake.com/en/sql-reference/functions/system_stream_has_data.html

    在任何情况下,您都不需要任务来自动化此管道。使用流和任务超出了此流的要求。如果 Snowflake 阶段是外部的(S3、Azure Blob、GCP 存储而不是 Snowflake 内部阶段),您可以使用 Snowpipe 将新到达的文件复制到表中。

    https://docs.snowflake.com/en/user-guide/data-load-snowpipe.html

    【讨论】:

    • 感谢您的评论。但是我有一个内部阶段,在这种情况下我们可以做什么?
    • Snowflake 支持使用 Snowpipe 进行内部阶段,但不支持自动摄取。您需要运行 alter pipe mypipe refresh 来获取最新到达的文件。只要您每周至少运行一次刷新,它就会自动跟踪新文件和已经摄取的文件。你可以把它放在一个任务上,以确保它每周至少发生一次,然后你可以在加载新文件时按需执行。
    猜你喜欢
    • 2021-06-28
    • 2023-01-11
    • 2022-08-17
    • 1970-01-01
    • 2020-12-21
    • 2021-09-29
    • 1970-01-01
    • 2020-03-08
    • 2020-05-16
    相关资源
    最近更新 更多