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

如何将历史数据引入 Azure 数据资源管理器

载入 Azure 数据资源管理器的一种常见方案是引入历史数据,有时称为回填。 此过程涉及将数据从现有存储系统引入表,表是 盘区的集合。

建议使用 creationTime ingestion 属性引入 历史数据,以将盘区的创建时间设置为 创建数据的时间。 使用创建时间作为引入分区条件可以根据 缓存保留 策略来使数据过期,并使时间筛选器更高效。

默认情况下,盘区的创建时间设置为引入数据的时间,这可能不会产生预期的行为。 例如,假设某个表的缓存期为 30 天,保留期为 2 年。 在正常流中,在生成数据时引入的数据将缓存 30 天,然后移动到冷存储。 两年后,根据创建时间,旧数据一次删除一天。 但是,如果引入两年的历史数据,默认情况下,数据被标记为数据引入时间的创建时间。 这可能不会产生所需的结果,因为:

  • 所有数据将进入缓存并保留 30 天,使用的缓存数超出预期。
  • 旧数据一次不会删除;因此,数据在群集中的保留时间超过必要时间,并且两年后会同时删除所有数据。
  • 以前在源系统中按日期分组的数据现在可能在同一范围内 进行批处理 ,从而导致查询效率低下。

显示使用默认创建时间引入历史数据的预期结果与实际结果的关系图。

本文介绍如何对历史数据进行分区:

  • creationTime 引入期间使用引入属性 (建议)

    在可能的情况下,使用 creationTime 引入属性引入历史数据,该属性允许通过从文件或 Blob 路径中提取盘区来设置盘区的创建时间。 如果文件夹结构未使用创建日期模式,建议重新构造文件或 Blob 路径以反映创建时间。 通过使用此方法,数据会以正确的创建时间引入表,并正确应用缓存和保留期。

    注意

    默认情况下,分片按其创建(引入)时间进行分区,在大多数情况下,不需要设置数据分区策略。

  • 引入后使用分区策略

    如果无法使用 creationTime 引入属性,例如,如果使用无法控制创建时间的 Azure Cosmos DB 连接器引入数据 ,或者无法重新构造文件夹结构,则可以在引入后对表进行重新分区,以使用 分区策略实现相同的效果。 但是,此方法可能需要一些试验和错误来优化策略属性,并且效率低于使用 creationTime 引入属性。 仅当无法使用引入属性时, creationTime 我们才建议使用此方法。

先决条件

引入历史数据

强烈建议在引入期间使用引入属性对历史数据进行 creationTime 分区。 但是,如果无法使用此方法,则可以使用分区策略对引入后的表重新分区。

LightIngest 可用于将历史数据从现有存储系统加载到 Azure 数据资源管理器。 虽然可以使用 命令行参数列表生成自己的命令,但本文介绍了如何通过引入向导自动生成此命令。 除创建命令外,还可使用此过程创建新表和架构映射。 此工具从数据集推断架构映射。

目标

  1. 在 Azure 数据资源管理器 Web UI 中,从左侧菜单中选择“查询”。

  2. 右键单击要引入数据的数据库,然后选择“ LightIngest”。

    Azure 数据资源管理器 Web UI 的屏幕截图,其中显示了数据库“更多”菜单。

    “引入数据”窗口随即打开,其中的“目标”选项卡处于选中状态。 系统会自动填充“群集”和“数据库”字段。

  3. 选择目标表。 如果要将数据引入新表,请选择“ 新建表”,然后输入表名称。

    注意

    表名称最多可包含 1024 个字符,包括空格、字母数字、连字符和下划线。 不支持特殊字符。

    “目标”选项卡的屏幕截图,其中显示了目标数据库和表。

  4. 选择“下一步: 源”。

  1. “选择源”下,选择“添加 URL”或“选择容器”。

    • 添加 URL 时,请在 “链接到源”下指定容器的帐户密钥或 SAS URL。 可以 手动自动创建 SAS URL。

    • 从存储帐户中选择容器时,请从下拉菜单中选择 存储订阅存储帐户容器

      用于从存储订阅和帐户中选择容器的对话框的屏幕截图。

    注意

    引入支持的最大文件大小为 6 GB。 建议引入 100 MB 到 1 GB 的文件。

  2. 选择“ 高级设置” ,使用 LightIngest 为引入过程定义其他设置。

    为涉及 LightIngest 工具的引入处理选择高级设置的屏幕截图。

  3. 在“ 高级配置 ”窗格中,根据下表定义 LightIngest 设置。

    高级配置窗格的屏幕截图,其中显示了涉及 LightIngest 工具的引入处理的其他设置。

    属性 说明
    创建时间模式 指定后,可使用一种模式替代所创建盘区的引入时间属性,例如根据容器的文件夹结构应用日期。 另请参阅创建时间模式
    Blob 名称模式 指定用于标识要引入的文件的模式。 引入与给定容器中的 blob 名称模式匹配的所有文件。 支持通配符。 建议用双引号括起来。
    标记 分配给引入数据的标记。 标记可以是任意字符串。
    限制文件数量 指定可引入的文件数。 引入与 blob 名称模式匹配的第一个 n 文件,直至指定的数量。
    不等待引入完成 如果设置此属性,则在不监视引入过程的情况下将 blob 排队引入。 如果未设置,LightIngest 将继续轮询引入状态,直到引入完成。
    仅显示所选项目 列出容器中的文件,但不引入这些文件。
  4. 选择“ 完成 ”以返回到“ ”选项卡。

    1. (可选)选择“ 文件筛选器 ”以筛选数据,以仅引入特定文件夹路径或具有特定文件扩展名的文件。

      在“引入新数据”屏幕的源选项卡中筛选数据的屏幕截图。

      默认情况下,容器中的一个文件是随机选择的,用于生成表的架构。

    2. (可选)在 “架构定义文件”下,可以指定要使用的文件。

  5. 选择“下一步: 架构”以查看和编辑表列配置。

架构

“架构”选项卡提供数据的预览。

若要生成 LightIngest 命令,请选择“ 下一步:开始引入”。

可选:

  • 通过从下拉菜单中选择所需的格式来更改自动推断 的数据 格式。
  • 更改自动推断的 映射名称。 可以使用字母数字字符和下划线。 不支持空格、特殊字符和连字符。
  • 使用现有表时,如果表架构与所选格式匹配,可以保留当前表架构。
  • 选择 “命令查看器 ”,查看并复制从输入生成的自动命令。
  • 编辑列。 在 “部分数据预览”下,选择列下拉菜单以更改表的各个方面。

以下参数决定了你可在表中进行的更改:

  • 表类型为“新”或“现有”
  • 映射类型为“新”或“现有”
表类型 映射类型 可用调整
新建表 新映射 更改数据类型,重命名列,新建列,删除列,更新列,升序排序,降序排序
现有表 新映射 新建列(你随后可在其上更改数据类型、进行重命名和更新),
更新列,升序排序,降序排序
现有映射 升序排序,降序排序

注意

添加新列或更新列时,可更改映射转换。 有关详细信息,请参阅映射转换

引入

  1. 表、映射和 LightIngest 命令用绿色检查标记后,选择“生成的命令”框右上角的复制图标,复制生成的 LightIngest 命令。

    已生成命令的“摘要”选项卡的屏幕截图。可以使用生成的命令框上方的复制图标复制命令。

    注意

    如果需要,可以通过选择“下载 LightIngest”来 下载 LightIngest 工具。

  2. 若要完成引入过程,必须使用复制的 命令 运行 LightIngest