ADF 第四篇:管道的执行和触发器
Azure Data Factory 系列博客:
- ADF 第一篇:Azure Data Factory介绍
- ADF 第二篇:使用UI创建数据工厂
- ADF 第三篇:Integration runtime和 Linked Service
- ADF 第四篇:管道的执行和触发器
- ADF 第五篇:转换数据
- ADF 第六篇:Copy Data Activity详解
- ADF 第七篇:控制流概述
- ADF 第八篇:传递参数(Pipeline的Parameter和Variable,Activity的output)和应用表达式
管道在Azure Data Factory中的运行(命名为Pipeline run)定义为管道执行的一个实例(instance of pipeline execution ),每一次管道执行(pipeline run)都有一个唯一的GUID来标识。用户可以定义一个触发器,比如,制定定时计划,触发器在特定的时间点被激发,自动执行管道。当然,也可以手动执行管道,本文重点关注触发器执行。
在管道执行时,可以把argument传递给管道中定义的parameters,这样管道就可以根据parameters的值动态调整Activity的执行路径。
一,触发器执行的类型
触发器代表一个处理单元,以确定合适开始执行管道,数据工厂支持三种类型的触发器:
- 计划触发器(Schedule trigger):按照计划来执行管道
- 翻滚窗口触发器(Tumbling window trigger):在固定间隔下操作管道
- 基于事件的触发器(Event-based trigger):响应事件的触发器
管道和触发器具有多对多的关系,多个触发器可以触发一个管道,一个触发器可以触发多个管道,因此,触发器可以在多个管道中共享,当修改触发器时,所有引用该触发器的Pipeline都会同步修改。
二,计划触发器
计划触发器(Schedule trigger)按照时间计划来运行管道,本文重点关注计划触发器,这可以实现在特定的时间点,按照特定的频率和特定的时间间隔来执行管道,实现数据工厂的自动化运行。
在创建计划触发器时,需要设置计划触发器的属性:
- startTime和endTime:计划触发器的开始时间和结束时间,通常只制定schedule的startTime,而不设置EndTime,这样计划触发器就永远有效。
- timeZone:时区,计划触发器计时的时区
- recurrence:重复
- frequency:频率
- interval:间隔
Step1:新建触发器
在管道中,点击Trigger,选择“New/Edit”
Step2:设置触发器的属性
打开“New trigger”界面,从Type列表中选择Schedule,创建Schedule Trigger,Start date默认值是当前的时间,表示trigger从当前时间开始有效;如果设置“Specify an End Date”,那么在End date之后,计划触发器不会再次激发Pipilne的执行。在 Activated 属性中选择“Yes”,表示计划触发器从创建开始是活跃的。
Step3:发布到数据工厂
把Trigger创建完成之后,之后把Pipeline的更新发布到数据工厂,触发器才会按照计划来执行管道。
点击“Publish all”按钮,把Pipeline的修改发布到数据工厂,在把更新发布到数据工厂之前,触发器不会启动触发器,那么管道中的Activity也不会按照计划来运行。
三,监控管道和触发
数据工厂会记录Pipeline的每一个次执行的数据,在数据工厂的UI界面中,打开“Monitor”选项卡,打开的界面如下图所示,点击“Pipeline runs”,可以查看管道的执行记录;点击“Trigger runs”,可以查看触发器执行的记录,
参考文档: