如何在 Azure 数据工厂中执行 SQL 查询
Posted
技术标签:
【中文标题】如何在 Azure 数据工厂中执行 SQL 查询【英文标题】:How to execute a SQL query in Azure Data Factory 【发布时间】:2020-01-09 06:26:32 【问题描述】:我在 ADF 中创建了一个用于执行复制活动的管道。我的源数据库是 Azure SQL 数据库,接收器是 Azure Blob。我想在 ADF 中执行 SQL 查询,以便在将数据复制到 blob 后从源中删除数据。我不允许使用复制或查找来执行查询。他们是否有任何自定义方式来执行此操作。我需要创建一个视图并且必须做一些活动。请帮助
【问题讨论】:
【参考方案1】:您还可以使用内置存储过程sp_executesql
,它允许您提供随机SQL 语句作为参数。
这样您就不必实现自己的存储过程。
在sp_executesql (Transact-SQL) 上查看有关此存储过程的更多信息。
【讨论】:
【参考方案2】:如果您正在使用数据映射流,则有一个新活动可以执行自定义 SQL 脚本:
Azure Data Factory mapping data flows adds SQL scripts to sink transformation在常规管道中,您可能不得不求助于使用存储过程活动:
Transform data by using the SQL Server Stored Procedure activity in Azure Data Factory您必须在 SP 中编写删除逻辑,然后从数据工厂调用 SP。
【讨论】:
您好,感谢您的回复,很遗憾我无法将数据流用于生产。仍然处于预览模式。而且我在以参数为表的 azure 数据仓库中创建数据存储过程时遇到了一些困难。数据仓库中不允许创建表类型。【参考方案3】:您可以编写一个用于从源表中删除数据的存储过程,并在复制活动后在“存储过程”活动中调用该存储过程。
您的数据流将如下所示:
COPY ACTIVITY -----> STORED PROCEDURE ACTIVITY
【讨论】:
以上是关于如何在 Azure 数据工厂中执行 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章
如何基于 Azure 数据工厂中创建的 Blob 执行触发器?