Azure 数据资源管理器是一项快速、完全托管的数据分析服务。 它针对从许多源(例如应用程序、网站和 IoT 设备)流式传输的大量数据提供实时分析。
若要将数据从 Oracle Server、Netezza、Teradata 或 SQL Server 中的数据库复制到 Azure 数据资源管理器,必须从多个表加载大量数据。 通常情况下,必须在每个表中对数据分区,以便使用多个线程从单个表并行加载行。 本文介绍可以在这些方案中使用的模板。
Azure 数据工厂模板 是预定义的数据工厂管道。 这些模板可帮助你快速开始使用数据工厂,并减少数据集成项目的开发时间。
可以使用 Lookup 和 ForEach 活动创建“从数据库批量复制到 Azure 数据资源管理器”模板。 为了更快地复制数据,可以使用模板为每个数据库或每个表创建多个管道。
重要
请务必使用适合要复制的数据量的工具。
- 使用 从数据库大容量复制到 Azure 数据资源管理器 模板,将大量数据从 SQL Server 和 Google BigQuery 等数据库复制到 Azure 数据资源管理器。
- 使用 数据工厂复制数据工具 将少量或中等数据的几个表复制到 Azure 数据资源管理器中。
先决条件
创建 ControlTableDataset
ControlTableDataset 指示哪些数据将从源复制到管道的目标。 行数指示复制数据所需的管道总数。 应将 ControlTableDataset 定义为源数据库的一部分。
以下代码显示了 SQL Server 源表格式的示例:
CREATE TABLE control_table (
PartitionId int,
SourceQuery varchar(255),
ADXTableName varchar(255)
);
下表描述了代码元素:
资产 | DESCRIPTION | 示例: |
---|---|---|
分区ID | 复制顺序 | 1 |
SourceQuery | 指示在管道运行时期间要复制哪些数据的查询 | select * from table where lastmodifiedtime LastModifytime >= ''2015-01-01 00:00:00''>
|
ADXTableName | 目标表名称 | MyAdxTable |
如果您的 ControlTableDataset 格式不同,请为您的格式创建一个可比的 ControlTableDataset。
使用“从数据库批量复制到 Azure 数据资源管理器”模板
在“ 开始” 窗格中, 从模板中选择“创建管道 ”以打开 “模板库 ”窗格。
选择 从数据库批量复制到 Azure 数据资源管理器 模板。
在 “从数据库批量复制到 Azure 数据资源管理器” 窗格中,在 “用户输入”下,通过执行以下操作来指定您的数据集:
a。 在 ControlTableDataset 下拉列表中,选择与控制表相连接的服务,该表说明哪些数据将从源复制到目标,以及这些数据将在目标中的何处放置。
b. 在 SourceDataset 下拉列表中,选择源数据库的链接服务。
选项c. 在 AzureDataExplorerTable 下拉列表中,选择 Azure 数据资源管理器表。 如果数据集不存在, 请创建 Azure 数据资源管理器链接服务 以添加数据集。
d。 选择“使用此模板” 。
在画布中选择活动外部的一个区域以访问模板流水线。 选择“ 参数 ”选项卡可输入表的参数,包括 名称 (控制表名)和 默认值 (列名)。
在 “查找”下,选择 “GetPartitionList ”以查看默认设置。 将自动创建查询。
选择命令活动 ForEachPartition,选择 “设置” 选项卡,然后执行以下作:
a。 在 “批处理计数 ”框中,输入一个介于 1 到 50 的数字。 此选择决定并行运行的管道数量,直到达到 ControlTableDataset 行数。
b. 若要确保管道批处理并行运行, 请不要 选中 “顺序 ”复选框。
小窍门
最佳做法是并行运行多个管道,以便更快地复制数据。 为了提高效率,请根据日期和表对源表中的数据进行分区,并为每个管道分配一个分区。
选择“ 全部验证 ”以验证 Azure 数据工厂管道,然后在 “管道验证输出 ”窗格中查看结果。
如有必要,请选择 “调试”,然后选择“ 添加触发器 ”以运行管道。
现在,可以使用模板有效地从数据库和表复制大量数据。
相关内容
- 了解用于 Azure 数据工厂的 Azure 数据资源管理器连接器 。
- 在 数据工厂 UI 中编辑链接的服务、数据集和管道。
- 在 Azure 数据资源管理器 Web UI 中查询数据。