如何在 Azure 数据工厂中执行查找?

How to perform Lookups in Azure Data Factory?

我是 SSIS 开发人员。我在 SSIS 中做了很多 SQL 存储过程查找概念。但是当来到 Azure 数据工厂时,我不知道如何使用 SQL 存储过程执行查找。

有人可以指导我吗?

提前致谢! 周杰伦

A​​zure 数据工厂 (ADF) 更像是一种 ELT 工具,而不是 ETL,因此不支持直接查找。相反,这种类型的操作连同其他转换 被下推到您实际使用的计算 中。例如,如果您要将数据移动到 SQL 服务器、Azure SQL 数据库或 Azure SQL 数据仓库,您将确保所有数据都在同一台服务器上并使用 Stored Procedure task to execute the lookups using T-SQL and joins. If you are using Azure Data Lake Analytics (ADLA) you would use the U-SQL Activity 到 运行 U-SQL 或执行 ADLA 存储过程,再次通过连接或自定义 U-SQL 代码(如 Combiner、Applier、Reducer)进行查找。事实上,您可以使用任何 ADF 计算选项,例如 SQL、HDInsight(包括 Hive、Pig、Map Reduce、Streaming 和 Spark 脚本)、机器学习或自定义 .net 活动。

所以您需要以不同的方式考虑 ADF 的问题。阅读本文以更好地了解在 ADF 中转换数据:

在 Azure 数据工厂中转换数据 https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-transformation-activities

顺便说一句,我很少在 SSIS 中使用 Lookups,因为早期版本的性能很差。虽然这在以后的版本中得到了改进,但通常如果你可以在 SQL 中做到这一点,你可能应该这样做。这种模式利用了 SQL 服务器的强大功能,而不是将数据向上拖动到 SSIS 管道中,例如为了查找(本质上是连接)的目的并将数据再次推出。我主要在涉及非关系数据时保留数据流转换,例如 xml 或使用关系数据加入您的电子邮件服务器。无论如何,这是我个人的看法:)