【问题标题】:Snowflake Task Functionality雪花任务功能
【发布时间】:2019-12-19 14:17:25
【问题描述】:

想知道雪花任务是否允许您从外部暂存的 S3 存储桶执行复制命令 进入如下目标雪花表。

COPY INTO snowflaketable FROM @externalstage/tablename/ FILE_FORMAT = (FORMAT_NAME = CSV);

谢谢

【问题讨论】:

    标签: task snowflake-cloud-data-platform


    【解决方案1】:

    您可以使用任务运行几乎任何 SQL 查询。使用如下任务,您可以每小时运行一次该复制到语句

    有关语法和选项的更多说明,请参阅 CREATE TASK 文档。

    create or replace task my_copy_task
      warehouse = mywh
      schedule = '60 minute'
    as
      COPY INTO snowflaketable FROM @externalstage/tablename/ FILE_FORMAT = (FORMAT_NAME = CSV);
    

    【讨论】:

    • 嗨,大卫,感谢您的回复。如果我希望任务在美国东部标准时间每周一上午 8 点运行,我会在“计划”中添加什么内容?
    • 你可以用'USING CHRON 0 8 * * MON EST'代替60 minute'(或类似的,我刚刚没有测试过)
    【解决方案2】:

    请考虑使用PIPE。支持COPY INTO <table>命令。

    您不需要管道仓库,并且信用使用量少于例如。任务。

    管道的主要缺点是它们是异步的,所以你不能。导入后立即进行后处理。

    使用管道的专业人士是他们可以订阅例如。 AWS S3 创建对象事件。

    【讨论】: