用于数据管道的 DCM Projects

DCM Projects 提供全生命周期的开发者体验,其中包括为管理数据管道量身定制的功能。

管道特定的命令并不适用于所有对象类型。它们为以下管道用例扩展了核心命令:

用于动态表的 REFRESH 命令

部署管道定义变更后,您可以在测试数据质量预期之前刷新管道项目内的动态表,以便端到端应用任何新的转换逻辑。

您可以通过一条命令刷新由 DCM project 管理的所有动态表格及其所需的上游动态表格。此命令仅适用于由引用的项目部署和管理的动态表,与任何定义文件无关。其他对象类型(如任务)不受影响。

请参阅 用于数据质量预期的 TEST 命令,了解有关结合使用 REFRESH 和 TEST 的用法示例。

该命令将一直运行,直到所有动态表刷新完成,并返回每个动态表的行更改或错误的摘要。

如需运行 REFRESH 命令,请执行以下操作:

EXECUTE DCM PROJECT DCM_DEMO.PROJECTS.DCM_PROJECT_STG
  REFRESH ALL;

对于 REFRESH ALL 输出格式,包括 JSON 架构和示例,请参阅 EXECUTE DCM PROJECT 命令参考的 REFRESH ALL 输出 部分。

用于数据质量预期的 TEST 命令

您可以将数据质量预期设置为数据转换所有暂存区的质量关卡:

  • 将期望值附加到 Bronze 层登录表中的原始数据,以确保原始输入符合期望值,并且不会在转换过程中导致错误。

  • 将期望作为质量门附加到 Silver 层,以便通过在不同转换暂存区设置检查点来更轻松地调试数据问题。

  • 将期望附加到 Gold 层,以确保数据产品的输出质量。

  • 将数据产品下游使用者的期望附加到 Gold 层,以便在部署重大变更之前验证这些期望。

请参阅 数据指标函数,了解如何在 DCM 项目中附加期望。

您可以通过一条命令测试由 DCM project 管理的表、动态表格或视图上附加的所有数据质量期望。

不会检查无预期附加的数据指标函数。

您可以使用 CLI 命令将自动化测试设置为 CI/CD 工作流程的一部分。例如,如果您在 QA、测试或暂存环境中拥有类似生产的数据,您可以按照以下步骤操作:

  1. 在 QA 中执行 PLAN,以验证预期的项目定义变更。

  2. DEPLOY 到 QA。

  3. 在 QA 中 REFRESH ALL 动态表,根据任何新的转换逻辑和更新的定义更新数据,从而确保不会基于过期数据进行期望验证。

  4. 在 QA 环境中,对附加到表对象的 TEST ALL 数据质量期望进行验证,以验证新部署的逻辑是否按预期运行,并且不会对数据输出的预期结构产生负面影响。

  5. 如果在 QA 中所有期望都满足,则继续在生产环境中执行 PLAN 和 DEPLOY。

如需运行 TEST 命令,请执行以下操作:

EXECUTE DCM PROJECT DCM_DEMO.PROJECTS.DCM_PROJECT_STG
  TEST ALL;

对于 TEST ALL 输出格式,包括 JSON 架构和示例,请参阅 EXECUTE DCM PROJECT 命令参考的 TEST ALL 输出 部分。

PREVIEW 命令

当您编写或修改动态表或视图的 SELECT 语句时,示例输出有助于验证数据的形状。对于包含多个转换步骤的复杂数据沿袭图,在对上游进行更改时,您可以检查下游视图或动态表的输出结果。

要在部署之前验证代码中的转换是否会产生预期的数据输出,请运行 PREVIEW 命令。

运行 PLAN 的 PREVIEW 命令编译当前定义,与任何部署状态无关,然后返回指定动态表、视图或常规表的数据样本。

请记住以下要求和注意事项:

  • PREVIEW 命令必须始终引用表对象的完全限定名称,不得使用 Jinja 变量。

  • 要在输出中查看示例数据,必须确保数据已在源表中可用。

  • PREVIEW 查询全部引用的动态表和视图的 SELECT 语句,但它不运行任务或 CREATE TABLE AS SELECT 语句。

如需运行 PREVIEW 命令,请执行以下操作:

EXECUTE DCM PROJECT DCM_DEMO.PROJECTS.DCM_PROJECT_DEV
  PREVIEW
    DCM_PROJECT_DEV.SERVE.V_DASHBOARD_KPI_SUMMARY
  USING CONFIGURATION DEV
FROM
  'snow://workspace/USER$.PUBLIC.DEFAULT$/versions/live/DCM_Project_Quickstart_1'
  LIMIT 100;