Azure Data Factory 系列博客:

管道在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”,可以查看触发器执行的记录,

参考文档:

Pipeline execution and triggers in Azure Data Factory

ADF 第四篇:管道的执行和触发器的更多相关文章

  1. ADF 第七篇:控制流

    Azure Data Factory 系列博客: ADF 第一篇:Azure Data Factory介绍 ADF 第二篇:使用UI创建数据工厂 ADF 第三篇:Integration runtime ...

  2. mysql第四篇--SQL逻辑查询语句执行顺序

    mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...

  3. 第四篇 Integration Services:增量加载-Updating Rows

    本篇文章是Integration Services系列的第四篇,详细内容请参考原文. 回顾增量加载记住,在SSIS增量加载有三个使用案例:1.New rows-add rows to the dest ...

  4. shell第四篇(上)

    第四篇了解Shell 命令执行流程图 {网中人大哥推荐参考Learning the Bash Shell, 2nd Edition,第 178页:中文版229页} Shell 从标准输入或脚本中读取的 ...

  5. 【译】第四篇 Integration Services:增量加载-Updating Rows

    本篇文章是Integration Services系列的第四篇,详细内容请参考原文. 回顾增量加载记住,在SSIS增量加载有三个使用案例:1.New rows-add rows to the dest ...

  6. 第四篇 Entity Framework Plus 之 Batch Operations

    用 Entity Framework  进行 增,删,改.都是基于Model进行的,且Model都是有状态追踪的.这样Entity Framework才能正常增,删,改. 有时候,要根据某个字段,批量 ...

  7. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  8. 解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)

    解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究 ...

  9. 解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译)

    解剖SQLSERVER 第四篇  OrcaMDF里对dates类型数据的解析(译) http://improve.dk/parsing-dates-in-orcamdf/ 在SQLSERVER里面有几 ...

随机推荐

  1. Django启动服务的流程

    我晕,启动个服务浪费快一个小时的时间,记录下步骤吧. 1.D:\django\newworld>python manage.py runserver Performing system chec ...

  2. 限流10万QPS、跨域、过滤器、令牌桶算法-网关Gateway内容都在这儿

    一.微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS.跨域.过滤器.令牌桶算法. 在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuu ...

  3. ImportError: No module named 'chardet'

    1.使用requsets出现这个错误,ImportError: No module named 'chardet' 原因:requests依赖其他一些模块 解决:依次使用pip安装即可 pip ins ...

  4. Map结合Function函数式接口的巧妙之处

    需求:在给定 List 集合中,需根据不同的算法规则,选取计算方式并返回结果: 例如:[1, 2, 3, 4, 5] List 集合中都是 Integer 类型数据,根据提供的算法规则,sum 求和, ...

  5. MindManager教程:高中数学函数思维导图怎么画

    说起函数,大家应该都不陌生吧,函数不论是在初中还是在高中都是需要重点学习的知识点,不仅仅是重点,更是作为难点曾出现在高考最后一道大题中.那今天我们就来做一个函数思维导图,来简单地了解一下关于函数的一些 ...

  6. 使用Folx下载任务完成后,怎么自动完成关闭

    下载工具的优点是可以通过多线程的方式,提高文件的下载速度,减少用户的下载时间.但另一方面来说,下载工具为了达到高速下载,也会占据较多的带宽资源,甚至会拖慢电脑的运行. 因此,很多用户会利用电脑的空闲时 ...

  7. 错误原因:因为desc是mysql里面的关键字

    SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check ...

  8. 浅谈 倍增/ST表

    命题描述 给定一个长度为 \(n\) 的序列,\(m\) 次询问区间最大值 分析 上面的问题肯定可以暴力对吧. 但暴力肯定不是最优对吧,所以我们直接就不考虑了... 于是引入:倍增 首先,倍增是个什么 ...

  9. SpringBoot2整合Redis

    pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  10. lambda表达式中无法抛出受检异常!

    抛出受检异常的时候,我们的接口应该带上throw关键字,但通过lambda表达式实现的Consumer的accept方法并不带有关键字,因此在lambda表达式中不能抛出受检异常必须把它吃掉