You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Great Expectations DataDoc HTML报告的默认配置

问题描述

Great Expectations支持通过DataDocs生成HTML报告,如下示例所示:
DataDocs报告示例
我想要修改报告头部的以下默认值,见下图:
报告头部默认值位置
该报告通过如下代码生成:

validation_results_stg = ge_stg_update.validate(expectation_suite='stg_expectations.html', only_return_failures=False)

我判断可以修改这些默认值,因为运行validatation_results_stg代码可以得到如下输出:

{
  "evaluation_parameters": {},
  "meta": {
    "great_expectations_version": "0.13.38",
    "expectation_suite_name": "default",
    "run_id": {
      "run_time": "2021-11-18T14:59:49.831733+00:00",
      "run_name": null
    },
    "batch_kwargs": {
      "ge_batch_id": "2c157d12-4880-11ec-8b5e-000d3ad66fea"
    },
    "batch_markers": {},
    "batch_parameters": {},
    "validation_time": "20211118T145949.831530Z",
    "expectation_suite_meta": {
      "great_expectations_version": "0.13.38"
    }
  },
  "results": [
    {
      "result": {
        "element_count": 14539,
        "missing_count": 0,
        "missing_percent": 0.0,
        "unexpected_count": 0,
        "unexpected_percent": 0.0,
        "unexpected_percent_total": 0.0,
        "unexpected_percent_nonmissing": 0.0,
        "partial_unexpected_list": []
      },
      "exception_info": {
        "raised_exception": false,
        "exception_message": null,
        "exception_traceback": null
      },
      "meta": {},
      "success": true,
      "expectation_config": {
        "kwargs": {
          "column": "SERVICE",
          "value_set": [
            "CMC",
            "Divorce",
            "Probate",
            "SSCS"
          ]
        },
        "expectation_type": "expect_column_values_to_be_in_set",
        "meta": {},
        "ge_cloud_id": null
      }
    },
    {
      "result": {
        "observed_value": 14539
      },
      "exception_info": {
        "raised_exception": false,
        "exception_message": null,
        "exception_traceback": null
      },
      "meta": {},
      "success": true,
      "expectation_config": {
        "kwargs": {
          "value": 14539
        },
        "expectation_type": "expect_table_row_count_to_equal",
        "meta": {},
        "ge_cloud_id": null
      }
    }
  ],
  "success": true,
  "statistics": {
    "evaluated_expectations": 2,
    "successful_expectations": 2,
    "unsuccessful_expectations": 0,
    "success_percent": 100.0
  }
}

可以看到输出中加载了默认配置,例如"expectation_suite_name": "default",请问如何将这些默认值修改为自定义内容?


解决方法

你可以通过两种方式修改报告头部的默认展示值:

1. 调用validate方法时直接传参覆盖(推荐)

Great Expectations的validate方法原生支持传入自定义参数替换默认值,注意原代码中expectation_suite参数填html后缀是错误写法,该参数应传入期望集的命名,修改后代码如下:

from great_expectations.core import RunIdentifier
from datetime import datetime

# 自定义配置项
custom_suite_name = "STG层数据校验规则集"
custom_run_name = "2024年Q3数据质量巡检"
custom_run_time = datetime.utcnow()

validation_results_stg = ge_stg_update.validate(
    expectation_suite='stg_expectations', # 替换为你实际的期望集名称
    only_return_failures=False,
    run_id=RunIdentifier(
        run_name=custom_run_name,
        run_time=custom_run_time
    ),
    expectation_suite_name=custom_suite_name,
    # 还可以在batch_kwargs中新增自定义展示字段
    batch_kwargs={
        "批次标识": "20241001_STG同步数据",
        "负责部门": "数据质量组"
    }
)

2. 手动修改校验结果的meta字段

如果已经生成了校验结果,也可以直接修改返回字典的对应字段后再生成DataDocs:

# 修改内置默认字段
validation_results_stg["meta"]["expectation_suite_name"] = "自定义期望集名称"
validation_results_stg["meta"]["run_id"]["run_name"] = "自定义运行任务名"
# 新增自定义头部展示字段
validation_results_stg["meta"]["业务线"] = "政务服务线"

修改完成后再调用DataDocs构建方法,生成的报告就会展示你自定义的内容。


内容的提问来源于stack exchange,提问作者Patterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:54:07