第 7 章 在数据堆栈中集成数据可观察性 在数据堆栈中集成数据可观察性
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在上一章中,你了解了 数据可观察性的三个组成部分,以及如何在日常数据工作中应用数据可观察性。在本章中,我们将动手实践这些概念。
本章的目标是提供一些食谱,帮助你将数据可观测性集成到你的管道中,提供技术材料来提高你的能力,使你的框架和应用程序具有数据可观测性--然后,就像一个好厨师对任何食谱所做的那样,你将对它进行个性化、扩展和改进。我将解释正确的操作步骤、每个步骤的目的以及如何操作。剧透警告:这将不时变得非常技术化--几乎是书呆子--但相信我,这是值得的。
为使本章具有逻辑流程,我将遵循 Joe Reis 和 Matt Housley 在《数据工程基础》中介绍的数据工程生命周期(图 7-1)。
图 7-1. 数据工程生命周期1(由 Joe Reis 和 Matthew Housley 提供)
数据可观察性位于数据工程的暗流中,是数据运营的一部分。要生成第 2 章中讨论的值,数据可观察性平台必须同时存在于数据架构和暗流层中。虽然我不会过多讨论生成阶段,但我会介绍摄取、转换和服务,并举例说明数据可观察性如何支持这些操作。
数据的可观察性很自然地延伸到数据工程生命周期所产生的结果,而满足消费者的责任是我在本书中迄今为止所介绍的思维方式的固有特点。因此,我还将介绍建立在所提供数据基础上的数据产品,尤其是分析(如报告)和机器学习。
让我们从摄入阶段开始。
摄入阶段
摄取阶段包括从业务应用程序部署和使用的源头移动数据。数据工程师对应用程序、数据和生成数据的团队的控制力最弱。有时,这类似于与第三方供应商合作。因此,摄取是将数据从一个系统转移到另一个我们可以控制的系统。
因此,数据摄取是第一道可见性防线,因为大多数下游问题都源于此。事实上,在摄取阶段,您可以预测大多数数据灾难,并防止剧烈传播(又称数据级联 )。2并防止剧烈传播(又称数据级联3 )的阶段。
摄取的第一步是连接外部或孤立的数据源。在这一阶段,数据团队失去了对流程的完全控制。要重新获得影响力和更多控制权,数据团队必须创造更高的可见性,以明确传达他们的请求,并以指标、趋势等事实作为支持。否则,对方很可能会拒绝所有请求或降低其优先级,从而使数据团队陷入必须不断 "清理 "数据的境地,而不是从源头解决问题。
如图 7-2 所示,摄取是第一道防线,但也是对必须验证的内容了解较少的地方,因为数据管道的目的是提炼、组合和生成更高级的见解。此外,随着数据向下游移动到许多用途,影响的数量会呈扇形增长,这意味着从这里开始的数据级联会产生更大的影响(蝴蝶效应或雪球效应)。因此,由于根本原因分析通常会在此停止,因此必须定期检查和更新摄取。在摄取过程中捕捉事件可以避免下游约 85% 的问题,甚至更多。但是,由于缺乏相关知识,或者由于很难在不增加检查次数的情况下提前预见到所有使用案例,良好的摄取实践通常是在事后分析的基础上发展起来的,或者因为某些预期跟踪的指标已经能够突出显示异常情况。例如,摄取的数据源可能有一个字段在某些转换中用作过滤器,分成几个组来执行细分,并与另一个数据源的另一个字段聚合来计算业务关键绩效指标。这样的用途不胜枚举,因此,要在一开始(数据摄取)就实施所有相关检查,即使不是不可能,也会让人望而生畏;实际上,我几乎可以说,这种可能性微乎其微,甚至无关紧要。 ...