azure - 使用条件将表从 SQL DB 复制到 Azure SQL DB?
问题描述
我想要
- 在水槽侧创建一个新表
- 删除列标题中的空格
- 将源列与接收器映射。
- 我不想复制接收器中的所有列。
(例如:如果我在接收器中有 10 列,那么我只想将其中的 8 个复制到接收器)
解决方案
你可以使用Azure 数据工厂数据流来完成此任务。
您必须在本地机器上安装自托管集成运行时。
创建一个新的链接服务,使用上面创建的 IR,提供您的本地 SQL 服务器和数据库名称,并且应该连接它
同样,您需要使用 ADF 中提供的默认集成运行时为 Azure SQL DB 创建链接服务。关注:https ://www.tallan.com/blog/2021/03/30/how-to-create-a-sql-database-linked-service-in-azure-data-factory/
创建两个链接服务后,您需要使用这些链接服务创建数据集。一个数据集将引用本地计算机上的源表,另一个将用作 Azure SQL 数据库中的接收器。
要在 ADF 中创建数据集,请按照作者(左侧的铅笔符号)-> 数据集 -> 新数据集。
现在主要的事情来了,ADF 数据流。
创建数据流:作者(左侧铅笔符号)-> 数据流-> 新数据流。
您的数据流将如下所示。在 Source Setting 中,您需要选择在上述步骤中创建的输入数据集,其中存储了输入数据。
您可以启用如上图所示的数据流调试,以检查每一步转换后的数据预览,如下图所示。我们将根据要求转换列 FirstName。
replace(FirstName, " ", "")
在 DerivedColumn 中,我们将使用函数将空格替换为空值。
在 Alter Row 中,我们将根据某些条件删除行。这里我们删除 PersonID > 8 的行。
完成后,您可以在Sink Data Preview中看到生成的数据。
最后,只需创建一个新管道。在空白处拖动数据流活动。选择我们上面在设置中创建的数据流活动名称。单击添加触发器以立即触发。
管道完成后,您可以检查 Azure SQL DB 中的数据。
推荐阅读
- grails - Grails 4 - 为数据库声明全局序列
- ios - 如何解决 iOS 上失败的 Flutter 应用构建失败?
- linear-algebra - Spark AR 对象旋转
- java - API连接突然不再通过应用程序工作
- java - 使用 java 驱动程序处理 MongoDB 中模式更改的正确方法
- linux - 从txt文件中提取文本
- c++ - 是否可以在没有动态多态性的情况下在 C++ 中实现状态设计模式?
- python - 在 JSON 对象中附加列表
- python - 使用 PySimpleGUI 为 AWS Lambda、AWS IoT 和 python 创建工作流工具
- .net - 将 API 帖子正文创建为 Stream .net