我作为数据工程师学习到很重要的经验是,任何数据管道(data pipelines)在某个时刻都会失败。连接断开,依赖关系断开,数据到达时间太晚,或者外部API无法访问等。发生故障的原因很多,但是无论如何,我们都可以采取措施来减轻数据管道故障的影响。
本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。
1. 区分初始数据摄取和常规数据摄取
每当我们集成新的数据源时,通常都需要将整个历史记录加载到集中式存储库中。然后,对于日常业务,我们将创建仅吸收新数据的管道,并且有可能会丢弃初始摄入的代码。
想象一下,由于某种原因,我们的数据遭到破坏。例如,您发现某些源数据在不同时间间隔上存在间隙(可能由于中断或API不可用而导致)。要重新获得对数据的信任,您可能需要再次加载整个历史记录。因此,同时具有常规和初始提取管道非常方便,可用于修复意外的数据事件。
2. 参数化数据管道
可靠的数据管道要足够灵活,可以接受输入参数,例如提取,转换和加载数据的开始日期。这种方法甚至允许将单个数据管道用于初始 和常规提取。
想象一下,周一开始工作时,您注意到一个管道在周六早上发生了故障,现在您可以轻松地在整个周末回填数据,而无需编写任何新代码。
3. 重试策略
虽然没有数据支持,但是60%的IT问题都可以通过重试来解决:
- 重启计算机,服务器