有效性规则

您可以使用有效性规则来对数据中的数据有效性进行校验。

配置示例

datasets:
  - type: Table
    tables:
      - tb_d_spec_demo
    filter: dt=$[yyyymmdd]/hh=$[hh24-1/24]
    dataSource:
      name: odps_first
      envType: Dev

rules:
  - invalid_count(email_address) = 0
    valid:
      format: email
  - invalid_percent(last_name) < 5%
    valid:
      regex: "(?:XX)"
  - invalid_count(house_owner_flag) = 0
    valid:
      values:
        - US
        - CN

定义有效数据

有效性规则指标包含2种:

  • invalid_count:无效数据行数。

  • invalid_percent:无效数据行数在总行数中的占比。

使用有效性规则时,需要再使用valid字段定义何为有效数据,定义方法有3种:

  • format:数据质量内置的一批数据格式,可以直接使用,支持同时设置多个。内置格式包括:

    • email:邮件

    • idcard:中国大陆身份证号码

    • mobile:中国大陆移动电话号码

    • phone:中国大陆座机电话号码

    • decimal:数字

    • date_yyyymmdd:日期格式,yyyyMMdd

    • date_minus_yyyymmdd:日期格式,yyyy-MM-dd

    • date_and_time_24h:时间格式,yyyy-MM-dd hh:mm:ss

    • date_and_time_milis:时间格式,yyyy-MM-dd hh:mm:ss.SSS

    • date_us:日期格式,MM/dd/yy

    • date_cn:日期格式,yyyyMMdd

    • date_iso_8601:ISO 8601日期格式,yyyy-MM-ddThh:mm:ssTZD

    • time_24h:时间格式,hh:mm:ss

    • money_cn:人民币金额,¥1000

    • money_us:美元金额,$1000

    • money_gb:英镑金额,£1000

    • money_eu:欧元金额,€1000

    • money_jp:日元金额,¥1000

  • regex:有效数据的正则表达式。

  • values:有效数据的字面值集合。