Page 1 of 1

揭秘数据合同:您需要了解的一切

Posted: Sun Jan 12, 2025 5:55 am
by Habib01
数据契约是分布式数据解决方案的数据质量和可扩展性的支柱。它们指定管理数据库实体之间交换的格式、模式和协议。这些正式协议消除了有关数据的歧义和未记录的假设。

在本文中,我将通过提供基本和高级技术来阐明数据契约的概念,以促进其有效应用。

了解数据契约
单个数据契约概述了两个模型之间数据交换 工程师数据 精确参数。这些正式协议确保数据格式和模式没有歧义。

数据契约定义和验证对于有效的跨团队协作至关重要。

简而言之,数据契约是改变数据原始状态的过程(生产者)和目的地(消费者)之间的正式协议。这与商业合同的运作方式非常相似。它们代表商业产品的供应商和消费者之间的义务。数据契约对于数据产品(即表、视图、数据模型等)做同样的事情。

目标是减轻下游数据流的中断并使数据转换稳定可靠。

数据契约的主要组成部分是模式(列和格式)、语义层部分(测量、计算和约束)、服务级别协议(SLA)和数据治理。

数据合约的好处包括:

数据质量自动化并检查何时创建或更新新数据输出。
实现高效扩展,特别是对于分布式数据架构,例如数据网格。
改善数据开发生命周期,专注于创建合同验证工具。
通过数据生产者和消费者之间的反馈促进协作。
解释数据合约如何运作的图像。

数据合同。作者的形象。

与 dbt 的数据契约示例
在数据协定中,模式定义属性名称、数据类型以及是否需要属性。他们还可以指定列的格式、长度和可接受的值范围。

让我们考虑在 YAML 文件中定义如下的dbt模型架构。我们的表模式定义在columns:


现在让我们想象一下我们这样定义我们的模型dim_orders: