您可以使用有效性规则来对数据中的数据有效性进行校验。
配置示例
{
  "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:日期格式,yyyy年MM月dd日 
- 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:有效数据的字面值集合。 
指标列表
- avg:字段均值 
- row_count:数据行数 
- sum:字段加和值 
- min:字段最小值 
- max:字段最大值 
- distinct_count:唯一值个数 
- distinct_percent:唯一值个数/数据行数 % 100% 
- table_size:数据存储大小 
- duplicate_count:重复值数据行数 
- duplicate_percent:重复值数据行数 / 数据行数 % 100%