回填技巧: 提升数据工程专业知识

数据工程专业知识的回填技巧:提升你的能力

数据工程

数据工程师在填补补偿迷宫中的指南

照片由Towfiqu barbhuiya在Unsplash上拍摄

什么是Backfilling?

想象一下开始一个新的数据流水线并从未解析过的源获取数据(例如从API或现有的hive表获取信息)。现在,你的任务是让它看起来像你很久以前就收集到这些数据一样。这就是我们所说的数据工程中的数据回填的一个例子。

但这不仅仅是开始新的数据流水线或表。你可能有一个已经收集了一段时间的表,突然间,你需要更改数据(例如由于新指标定义)或从新的数据源添加更多数据。或者你的数据中有一个尴尬的空隙,你只想填补一下。所有这些情况都是数据回填的例子。共同点是把时间“倒退”,并用一些历史数据“填满”你的表。

以下图示(图1)展示了一个简单的回填场景。在这个实例中,每天的作业从两个上游源(平台A和平台B)检索数据。数据集的结构是第一个分区为“ds”,第二个分区(或子分区)代表平台。不幸的是,由于某些问题,从2023年10月3日到2023年10月5日的数据缺失。为了解决这个空白,启动了一个回填操作(回填作业于2023年10月8日开始)。

图1)一个简单的回填场景

回填和重新定义

在继续之前,需要提醒一下:在数据工程领域,我们通常会遇到两种情况:回填表格或重新定义表格。这些过程在某些相似之处,但也有一些细微的差别。回填作为一种实践,涉及填充数据集中缺失或不完整的数据。它的应用通常用于更新历史数据或纠正间隙。相反,重新定义表格涉及实施重大的…