使用 Azure 数据工厂模板从数据库批量复制到 Azure 数据资源管理器

Azure 数据资源管理器是一个快速、完全托管的数据分析服务。 它可以实时分析从应用程序、网站和 IoT 设备等许多源流式传输的大量数据。

若要将数据从 Oracle 服务器、Netezza、Teradata 或 SQL Server 中的数据库复制到 Azure 数据资源管理器,你必须从多个表加载大量数据。 通常情况下,必须在每个表中对数据分区,以便使用多个线程从单个表并行加载行。 本文介绍一个可以在这些情况下使用的模板。

Azure 数据工厂模板是预定义的数据工厂管道。 这些模板可以帮助你快速开始使用数据工厂,缩短数据集成项目的开发时间。

可以使用 LookupForEach 活动创建“从数据库批量复制到 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)
);

下表描述了代码元素:

properties 说明 示例
PartitionId 复制顺序 1
SourceQuery 指示在管道运行时期间要复制哪些数据的查询
select * from table where lastmodifiedtime LastModifytime >= ''2015-01-01 00:00:00''>
ADXTableName 目标表名称 MyAdxTable

如果你的 ControlTableDataset 采用不同的格式,请根据自己的格式创建相应的 ControlTableDataset。

使用“从数据库批量复制到 Azure 数据资源管理器”模板

  1. 在“开始”窗格中,选择“从模板创建管道”打开“模板库”窗格。

    The Azure Data Factory

  2. 选择“从数据库批量复制到 Azure 数据资源管理器”模板。

    The

  3. 在“从数据库批量复制到 Azure 数据资源管理器”窗格中的“用户输入”下,按如下所述指定数据集:

    a. 在“ControlTableDataset”下拉列表中,选择控制表对应的链接服务,该表指示要将源中的哪些数据复制到目标,以及要将数据放在目标中的哪个位置。

    b. 在“SourceDataset”下拉列表中,选择源数据库对应的链接服务。

    c. 在“AzureDataExplorerTable”下拉列表中,选择“Azure 数据资源管理器”表。 如果该数据集不存在,请创建 Azure 数据资源管理器链接服务以添加该数据集。

    d. 选择“使用此模板” 。

    The

  4. 在画布中选择活动外部的某个区域,以访问模板管道。 选择“参数”选项卡并输入表的参数,包括“名称”(控制表名称)和“默认值”(列名称)。

    Pipeline parameters.

  5. 在“Lookup”下,选择“GetPartitionList”以查看默认设置。 系统会自动创建查询。

  6. 选择命令活动“ForEachPartition”,选择“设置”选项卡,然后执行以下操作:

    a. 在“批计数”中,输入从 1 到 50 的数字。 此数字确定了在达到 ControlTableDataset 行数之前,可并行运行的管道数。

    b. 为确保管道批并行运行,请不要选中“顺序”复选框。

    ForEachPartition settings.

    提示

    最佳做法是并行运行多个管道,以加快数据复制速度。 若要提高效率,请将源表中的数据分区,并根据日期和表为每个管道分配一个分区。

  7. 选择“全部验证”以验证 Azure 数据工厂管道,然后在“管道验证输出”窗格中查看结果。

    Validate template pipelines.

  8. 如果需要,请选择“调试”,然后选择“添加触发器”以运行该管道。

    The

现在可以使用该模板有效地从数据库和表中复制大量数据。