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)和应用表达式
Integration runtime(IR) 是Azure 数据工厂在不同的网络环境中进行数据集成的组件,用于几个环境中:
- Data Flow:在托管的Azure计算环境中执行Data Flow
- Data movement:把存储在公用网络(public network)和私有网络(on-premises或private network)之间复制数据
- Activity dispatch:调度(dispatch)和监视在各种计算服务(例如 Azure Databricks、azure HDInsight、Azure 机器学习、Azure SQL 数据库、SQL Server 等)上运行的转换活动。
- SSIS package execution:在托管的 Azure 计算环境中本机执行 SQL Server 集成服务 (SSIS) 包
在数据工厂中,活动(Activity)定义要执行的动作,Linked service 定义目标数据存储,或计算服务。集成运行时(Integration runtime)提供了活动(Activity)和Linked Services之间的桥梁,它被链接服务或活动引用,提供一个计算环境,用于运行Activity,或者分派Activity,这使得ADF可以在满足安全性和合规性需求的同时,以最高效的方式在最接近目标数据存储或计算服务的区域中执行活动。
一,IR的类型
数据工厂提供了三种类型的IR,每种类型的IR 适用的网络环境如下表所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e4298213dc68f5433f38b77350049ed0.png)
Azure IR的作用:
- 可以在Azure上执行Data Flow
- 在cloud 数据存储之间执行Copy Activity
- 在public network上分派转换活动(Transform Activity)
Self-hosted IR的作用:
- 在云数据存储和私有网络存储之间执行Copy Activity
- 对本地(on-premises)或Azure虚拟网络种的计算资源执行转换活动(Transform Activity)
如果想在私有网络环境中执行数据集成,那么可以在on-premises环境(私有网络环境)中安装Self-hosted IR。
Azure-SSIS IR:
用于执行SSIS packages,通过把Azure-SSIS IR加入到on-premises的网络中,数据工厂可以用于本地数据访问(on-premises data access)。
二,创建Self-Hosted IR
通过Azure Data Factory UI来创建,
![](https://i-blog.csdnimg.cn/blog_migrate/938a1931fd2abb1ed7ba076c57861733.png)
选择Self-Hosted 类型,选择手动设置(Manual setup),
![](https://i-blog.csdnimg.cn/blog_migrate/38d0416056c0bfcfb2623911cdc5fe38.png)
点击“Download and install integration runtime”,下载安装包,并复制 authentication key,黏贴到"Register Integration Runtime (Self-hosted)" 页面中:
![](https://i-blog.csdnimg.cn/blog_migrate/b9bbb93d6809ecb46bc7370dd1f31659.png)
点击页面底部的“Register” 按钮完成Self-Hosted IR的注册。
三,Linked Service
连接服务(Linked services )类似于连接字符串,用于定义ADF连接到外部资源时所需要的连接信息,连接服务定义如何连接到外部数据源,而数据集代表外部源数据的结构。
而Linked Services 依赖于Integration runtimes,因此,我们在创建Linked Service之前,需要创建Integration runtimes。
参考文档: