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

咨询Airflow中BigQueryColumnCheckOperator允许的column_mappings映射类型

BigQueryColumnCheckOperator 的 column_mappings 参数详解

column_mappings 是一个嵌套字典,核心结构是列名 -> 检查规则集合,下面详细拆解它支持的所有映射类型:

顶层结构

顶层键是你要检查的表中列的名称,对应的值是该列需要执行的所有检查规则的集合(也是一个字典)。

支持的检查类型及配置

每个列的规则集合里,可以同时配置多种内置检查,每种检查的配置方式如下:

1. null_check(检查NULL值数量/占比)

用于校验列中NULL值的数量或占总记录数的比例,支持以下配置参数:

  • equal_to/less_than/greater_than/less_than_or_equal_to/greater_than_or_equal_to:针对NULL值的绝对数量设置阈值
  • ratio_equal_to/ratio_less_than等带ratio_前缀的参数:针对NULL值占总记录数的比例(0~1之间的浮点数)设置阈值

示例:

{"value": {"null_check": {"ratio_less_than": 0.01}}}  # NULL值占比不超过1%

2. distinct_check(检查唯一值数量)

校验列中唯一值的数量或占比,支持的配置参数和null_check完全一致,既可以检查绝对数量,也可以检查占比。

示例:

{"user_id": {"distinct_check": {"equal_to": 1000}}}  # 唯一用户ID数量恰好是1000

3. unique_check(检查列值是否完全唯一)

校验列中所有值是否都是唯一的(即唯一值数量等于总记录数),只需配置equal_to: True即可。

示例:

{"user_id": {"unique_check": {"equal_to": True}}}  # user_id列不能有重复值

4. min_check/max_check(检查最小/最大值)

校验列的最小或最大值,支持所有数值比较参数(equal_to/greater_than等)。

示例:

{"age": {
    "min_check": {"greater_than_or_equal_to": 18},
    "max_check": {"less_than_or_equal_to": 65}
}}

5. sum_check(检查列总和)

校验列的数值总和,支持数值比较参数。

示例:

{"sales": {"sum_check": {"greater_than": 10000}}}  # 销售额总和超过10000

6. avg_check(检查列平均值)

校验列的平均值,除了常规数值比较参数,还支持between参数(接受一个包含两个数值的列表,指定平均值的合法区间)。

示例:

{"score": {"avg_check": {"between": [60, 90]}}}  # 平均分在60到90之间

多规则组合示例

单个列可以同时配置多个检查规则,算子会依次执行所有校验:

column_mapping={
    "order_amount": {
        "null_check": {"equal_to": 0},
        "min_check": {"greater_than": 0},
        "sum_check": {"greater_than_or_equal_to": 1000}
    }
}

内容的提问来源于stack exchange,提问作者Tomás Jullier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:15:31