你当前正在访问 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
我们才建议使用此方法。
先决条件
- Microsoft 帐户或Microsoft Entra用户标识。 无需 Azure 订阅。
- Azure 数据资源管理器群集和数据库。 创建群集和数据库。
- 一个存储帐户。
- 对于在引入期间使用
creationTime
ingingestion 属性的建议方法, 请安装 LightIngest。
引入历史数据
强烈建议在引入期间使用引入属性对历史数据进行 creationTime
分区。 但是,如果无法使用此方法,则可以使用分区策略对引入后的表重新分区。
LightIngest 可用于将历史数据从现有存储系统加载到 Azure 数据资源管理器。 虽然可以使用 命令行参数列表生成自己的命令,但本文介绍了如何通过引入向导自动生成此命令。 除创建命令外,还可使用此过程创建新表和架构映射。 此工具从数据集推断架构映射。
目标
在 Azure 数据资源管理器 Web UI 中,从左侧菜单中选择“查询”。
右键单击要引入数据的数据库,然后选择“ LightIngest”。
“引入数据”窗口随即打开,其中的“目标”选项卡处于选中状态。 系统会自动填充“群集”和“数据库”字段。
选择目标表。 如果要将数据引入新表,请选择“ 新建表”,然后输入表名称。
注意
表名称最多可包含 1024 个字符,包括空格、字母数字、连字符和下划线。 不支持特殊字符。
选择“下一步: 源”。
源
在“选择源”下,选择“添加 URL”或“选择容器”。
注意
引入支持的最大文件大小为 6 GB。 建议引入 100 MB 到 1 GB 的文件。
选择“ 高级设置” ,使用 LightIngest 为引入过程定义其他设置。
在“ 高级配置 ”窗格中,根据下表定义 LightIngest 设置。
属性 说明 创建时间模式 指定后,可使用一种模式替代所创建盘区的引入时间属性,例如根据容器的文件夹结构应用日期。 另请参阅创建时间模式。 Blob 名称模式 指定用于标识要引入的文件的模式。 引入与给定容器中的 blob 名称模式匹配的所有文件。 支持通配符。 建议用双引号括起来。 标记 分配给引入数据的标记。 标记可以是任意字符串。 限制文件数量 指定可引入的文件数。 引入与 blob 名称模式匹配的第一个 n
文件,直至指定的数量。不等待引入完成 如果设置此属性,则在不监视引入过程的情况下将 blob 排队引入。 如果未设置,LightIngest 将继续轮询引入状态,直到引入完成。 仅显示所选项目 列出容器中的文件,但不引入这些文件。 选择“ 完成 ”以返回到“ 源 ”选项卡。
(可选)选择“ 文件筛选器 ”以筛选数据,以仅引入特定文件夹路径或具有特定文件扩展名的文件。
默认情况下,容器中的一个文件是随机选择的,用于生成表的架构。
(可选)在 “架构定义文件”下,可以指定要使用的文件。
选择“下一步: 架构”以查看和编辑表列配置。
架构
“架构”选项卡提供数据的预览。
若要生成 LightIngest 命令,请选择“ 下一步:开始引入”。
可选:
- 通过从下拉菜单中选择所需的格式来更改自动推断 的数据 格式。
- 更改自动推断的 映射名称。 可以使用字母数字字符和下划线。 不支持空格、特殊字符和连字符。
- 使用现有表时,如果表架构与所选格式匹配,可以保留当前表架构。
- 选择 “命令查看器 ”,查看并复制从输入生成的自动命令。
- 编辑列。 在 “部分数据预览”下,选择列下拉菜单以更改表的各个方面。
以下参数决定了你可在表中进行的更改:
- 表类型为“新”或“现有”
- 映射类型为“新”或“现有”
表类型 | 映射类型 | 可用调整 |
---|---|---|
新建表 | 新映射 | 更改数据类型,重命名列,新建列,删除列,更新列,升序排序,降序排序 |
现有表 | 新映射 | 新建列(你随后可在其上更改数据类型、进行重命名和更新), 更新列,升序排序,降序排序 |
现有映射 | 升序排序,降序排序 |
注意
添加新列或更新列时,可更改映射转换。 有关详细信息,请参阅映射转换
引入
表、映射和 LightIngest 命令用绿色检查标记后,选择“生成的命令”框右上角的复制图标,复制生成的 LightIngest 命令。
注意
如果需要,可以通过选择“下载 LightIngest”来 下载 LightIngest 工具。
若要完成引入过程,必须使用复制的 命令 运行 LightIngest 。