通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用复制数据工具根据 LastModifiedDate 以增量方式复制新的和已更改的文件

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

Microsoft Fabric 中的 Data Factory 是下一代 Azure 数据工厂,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

在本教程中,你将使用 Azure 门户创建数据工厂。 然后,使用复制数据工具创建一个管道,该管道仅将 Azure Blob 存储中的新文件和已更改的文件以增量方式复制到另一个 Azure Blob 存储。 它使用 LastModifiedDate 来确定要复制的文件。

完成此处的步骤后,Azure 数据工厂将扫描源存储中的所有文件,应用文件筛选器LastModifiedDate,并将那些新文件或自上次以来更新的文件复制到目标存储。 请注意,如果数据工厂扫描大量文件,您仍然应该预计需要很长时间。 即使减少了要复制的数据量,文件扫描也很耗时。

注意

如果不熟悉数据工厂,请参阅 Azure 数据工厂 简介

在本教程中,你将完成以下任务:

  • 创建数据工厂。
  • 使用“Copy Data”工具创建管道。
  • 监视管道和活动运行。

先决条件

  • Azure subscription:如果没有Azure订阅,请在开始前创建 free 帐户
  • Azure 存储帐户:用 Blob 存储来存储源数据和汇聚器数据。 如果没有Azure 存储帐户,请按照 创建存储帐户中的说明操作。

在 Blob 存储中创建两个容器

完成以下步骤,准备本教程所需的 Blob 存储:

  1. 创建名为 source 的容器。 可以使用各种工具来执行此任务,例如 Azure 存储资源管理器

  2. 创建名为 destination 的容器。

创建数据工厂

  1. 在顶部菜单中,选择“ 创建资源>分析>数据工厂

    选择“数据工厂”

  2. 在“新建数据工厂” 页的“名称”下输入 ADFTutorialDataFactory

    数据工厂的名称必须全局独一无二。 可能会收到以下错误消息:

    新建数据工厂时出现的名称重复错误消息。

    如果收到有关名称值的错误消息,请为数据工厂输入另一名称。 例如,使用名称 yournameADFTutorialDataFactory。 有关数据工厂项目的命名规则,请参阅数据工厂命名规则

  3. Subscription 下,选择要在其中创建新数据工厂的Azure订阅。

  4. 在“资源组”下执行以下步骤之一 :

    • 选择“使用现有”,然后在列表中选择现有的资源组。

    • 选择“新建”,然后输入资源组的名称 。

    若要了解资源组,请参阅 使用资源组来管理Azure资源

  5. 在“版本”下选择“V2”。

  6. 在“位置”下选择数据工厂的位置。 列表中仅显示支持的位置。 数据存储(例如,Azure 存储和Azure SQL 数据库)和计算(例如,数据工厂使用的Azure HDInsight)可以位于其他位置和区域。

  7. 选择“创建” 。

  8. 创建数据工厂后,会显示数据工厂主页。

  9. 若要在单独的选项卡上打开Azure 数据工厂用户界面(UI),请在 Open Azure 数据工厂 Studio 磁贴上选择 Open

    Azure 数据工厂主页,其中包含打开 Azure 数据工厂工作室的图块。

使用“复制数据”工具创建管道

  1. 在Azure 数据工厂主页上,选择引入磁贴以打开“复制数据”工具:

    显示 ADF 主页的屏幕截图。

  2. 在“属性”页上执行以下步骤:

    1. 在“任务类型”下,选择“内置复制任务” 。

    2. 在“任务节奏或任务计划”下,选择“滚动窗口”。

    3. 在“重复周期”下输入“15 分钟”。

    4. 选择“下一步”。

    复制数据属性页

  3. 在“源数据存储” 页上,完成以下步骤:

    1. 选择“+ 新建连接”添加一个连接。

    2. 从库中选择Azure Blob 存储,然后选择继续

      选择Azure博客存储

    3. 新连接(Azure Blob 存储)页上,从 Azure 订阅列表中选择Azure订阅,并从 Storage 帐户名称列表中选择存储帐户。 测试连接,然后选择“创建” 。

    4. 在“连接”块中选择新建的连接。

    5. 在“文件或文件夹”部分中,选择“浏览”并选择源文件夹,然后选择“确定”。

    6. 在“文件加载行为”下,选择“增量加载:LastModifiedDate”,然后选择“二进制复制” 。

    7. 选择“下一步”。

    显示“源数据存储”页的屏幕截图。

  4. 在“目标数据存储”页上,完成以下步骤:

    1. 选择已创建的“AzureBlobStorage”连接。 这是与源数据存储相同的存储帐户。

    2. 在“文件夹路径”部分中,浏览并选择目标文件夹,然后选择“确定”。

    3. 选择“下一步”。

    显示“目标数据存储”页的屏幕截图。

  5. 在“设置”页上的“任务名称”下,输入 DeltaCopyFromBlobPipeline,然后选择“下一步”。 数据工厂会使用指定的任务名称创建一个管道。

    显示“设置”页的屏幕截图。

  6. 在“摘要” 页上检查设置,然后选择“下一步” 。

    摘要页面

  7. 在“部署”页中,选择“监视”以监视管道(任务)

    部署页

  8. 请注意,左侧的“监控”选项卡已自动选中。 应用程序将切换到“监视”选项卡。 请查看管道的状态。 选择“刷新”可刷新列表。 选择“管道名称”下的链接,查看活动运行详细信息或重新运行管道。

    刷新列表并查看活动运行详细信息

  9. 该管道只包含一个活动(复制活动),因此只显示了一个条目。 要了解有关复制操作的详细信息,请在“活动运行”页上,选择“活动名称”列下的“详细信息”链接(眼镜图标)。 有关属性的详细信息,请参阅 复制活动 概述

    管道中的 管道中的“复制”活动

    由于 Blob 存储帐户的源容器中没有文件,因此不会看到任何文件复制到该帐户的目标容器中:

    源容器或目标容器中没有文件

  10. 创建空的文本文件,并将其命名为 file1.txt。 将此文本文件上传到存储帐户中的源容器。 可以使用各种工具来执行这些任务,例如 Azure 存储资源管理器

    创建 file1.txt 并将其上传到源容器

  11. 要返回“管道运行”视图,请在“活动运行”页的痕迹菜单中选择“所有管道运行”链接,然后等待同一管道再次自动触发。

  12. 当第二个管道运行完成时,请按照前述步骤查看活动运行详情。

    你会发现,已将一个文件 (file1.txt) 从 Blob 存储帐户的源容器复制到目标容器。

    file1.txt 已从源容器复制到目标容器

  13. 创建另一个空的文本文件,并将其命名为 file2.txt。 将此文本文件上传到 Blob 存储帐户中的源容器。

  14. 针对第二个文本文件重复步骤 11 和 12。 你会发现,在这次管道运行中,只有新文件 (file2.txt) 从存储帐户的源文件容器被复制到了目标文件容器。

    您还可以使用 Azure 存储资源管理器 扫描文件,以验证是否只复制了一个文件。

    扫描文件 使用 Azure 存储资源管理器

转到以下教程,了解如何在 Azure 上使用 Apache Spark 群集转换数据: