【发布时间】:2022-01-13 19:35:57
【问题描述】:
我正在尝试自动化 ETL 数据管道流程,其目的是将 JSON 从 s3 加载到 临时表 中,一旦数据加载到临时表中,任务就会从 json 中提取数据并加载它到提取表中,最后存储过程将数据从提取表中加载到维度表中。
我创建了一个雪管,它能够成功地将 json 从 s3 加载到 staging table 中,但我被困在试图将数据自动加载到 extraction table 来自 staging table 使用流(stream 是在 staging table 之上创建的)。我的理解是流可以跟踪暂存表中发生的变化,并且任何进入暂存区域的新文件只需执行并加载到提取表中。
有人可以根据暂存表中发生的新插入来帮助我创建任务语法组合流
我使用的代码如下,它根本不会将数据加载到提取表中。
create or replace task insertintoextractiontable
WAREHOUSE = Default_WH
WHEN
SYSTEM$STREAM_HAS_DATA('STAGESTREAM')
【问题讨论】:
-
创建任务后,是否执行了RESUME命令?默认情况下,新任务被暂停。
-
嗨 Michael Golos,我试图恢复任务,但它抛出错误 Task should have a SCHEDULE or AFTER to be resumed。
-
我是否应该在上面的 mypost 中的创建任务语句中包含类似 SCHEDULE = '5 minute' 的内容
-
是的,您必须设置 SCHEDULE 或 AFTER 另一个作业才能运行此作业。
标签: stream pipe task snowflake-cloud-data-platform etl