地铁空气压缩机运行数据质量监控

背景

空压机运行数据由传感器持续采集,原始明细需要先统一字段类型、去除重复记录和无效记录,再按日汇总运行指标,并提取最新一天的数据供后续分析。数据按天更新:第二天数据库写入新增运行数据后,重新构建流程,构建会生成下一天的 最新一天数据,并触发已启用的数据质量规则。

质量检查用于识别空气泄漏。当某一天的规则检查不通过时,表示该天的运行指标超出配置阈值,在本案例中即判定该天发生了空气泄漏;通过时间线和规则实际值可以定位异常日期及异常指标。

本案例使用 PostgreSQL 数据源中的 metrop_batch_01 表,建立从原始明细到质量监控结果的处理链路。

案例数据集

案例使用 PostgreSQL 数据源中的 metrop_batch_01 表。压缩包包含数据库初始批次及后续增量批次文件。

操作流程

  1. 在「流程」中通过 PostgreSQL 数据源创建数据集。
  2. 创建智能数据处理任务,清洗空压机运行明细,输出 压缩机运行明细。
  3. 创建智能数据处理任务,按天汇总明细,输出 压缩机每日指标。
  4. 创建智能数据处理任务,从每日指标中筛选最新一天,输出 最新一天数据。
  5. 在「数据质量」中为 最新一天数据 创建并配置 5 条质量规则。
  6. 第二天数据库更新后重新构建流程,生成下一天的 最新一天数据,并触发数据质量检查。
  7. 在当前状态和时间线中查看规则结果;检查不通过的日期即为空气泄漏发生日。

创建 PostgreSQL 数据集

在「流程」中打开【导入数据】菜单,选择【PostgreSQL】。

打开 PostgreSQL 导入入口打开 PostgreSQL 导入入口

在「新建 PostgreSQL 数据集」页面中选择数据源 sample,填写数据集名称“地铁空气压缩机运行数据质量监控”,选择数据库模式 public 和数据表 metrop_batch_01。确认数据预览后,点击【创建】。

配置 PostgreSQL 数据集配置 PostgreSQL 数据集

清洗空压机运行明细

创建明细清洗任务

在流程画布中选中数据集“地铁空气压缩机运行数据质量监控”,在右侧「通用方法」中点击【智能数据处理】。

在「智能数据处理」弹窗中确认输入为“地铁空气压缩机运行数据质量监控”,新增输出数据集并命名为“压缩机运行明细”,点击【确认】。

配置明细清洗任务的输入和输出配置明细清洗任务的输入和输出

描述明细清洗要求

进入「智能数据处理」页面,在「输入内容」中确认已加载原始明细,在左下方输入框中发送以下要求:

输入是空压机传感器明细表,每个采集时刻一条记录。请对它做清洗,输出同粒度的干净明细。

处理要求:
1. 字段类型修正:record_index 转成整数;h1、dv_pressure、oil_temperature、motor_current、tp2、tp3、reservoirs 转成数值类型。
2. 去掉完全重复的行:所有字段取值都相同的记录只保留第一条。
3. 处理无效记录:timestamp、h1、dv_pressure、oil_temperature、motor_current 里有空值或类型转换失败的记录,直接剔除,不要用0或均值填补。
4. 按 timestamp 升序排列。
5. 字段保持原样,不新增、不改名、不改顺序。

跑完请说明:输入多少行、删除多少条重复、删除多少条无效、输出多少行

输入明细清洗要求输入明细清洗要求

处理完成后切换到「输出结果」,查看“压缩机运行明细”。页面显示输入行数为 6301,删除重复为 0,删除无效为 0,输出行数为 6301;结果表保留原字段并按 timestamp 排序。

查看明细清洗结果查看明细清洗结果

返回「流程」,确认原始数据集通过智能数据处理节点连接到“压缩机运行明细”。

查看明细清洗流程节点查看明细清洗流程节点

汇总每日运行指标

创建日指标汇总任务

选中“压缩机运行明细”,再次点击右侧【智能数据处理】。在弹窗中确认输入为“压缩机运行明细”,新增输出数据集“压缩机每日指标”,点击【确认】。

配置日指标汇总任务配置日指标汇总任务

描述日指标汇总要求

在「输入内容」中发送以下要求:

输入是带统计日期 stat_date 的压缩机运行明细。请按 stat_date 分组,把它汇总成每日运行指标,每个日期一行。

按 stat_date 分组后计算以下字段:
- sample_count:该日的记录条数
- avg_h1:h1 的平均值
- avg_dv_pressure:dv_pressure 的平均值
- avg_oil_temperature:oil_temperature 的平均值
- max_oil_temperature:oil_temperature 的最大值
- avg_motor_current:motor_current 的平均值

结果整理要求:
- 字段顺序为 stat_date、sample_count、avg_h1、avg_dv_pressure、avg_oil_temperature、max_oil_temperature、avg_motor_current
- 按 stat_date 升序排列
- 六个指标保留 3 位小数,sample_count 保留整数
- 明细表其他字段不要带入输出

跑完请核对:输出行数等于输入中不同 stat_date 的数量,每个 stat_date 只出现一次,六个指标字段都不为空。

输入日指标汇总要求输入日指标汇总要求

处理完成后,在「输出结果」中查看“压缩机每日指标”。输出包含 2020-04-16 和 2020-04-17 两行,并显示每日样本数、平均压力、平均油温、最高油温和平均电机电流等指标。

查看日指标汇总结果查看日指标汇总结果

筛选最新一天数据

创建最新数据筛选任务

返回流程,选中“压缩机每日指标”,点击【智能数据处理】。在弹窗中确认输入为“压缩机每日指标”,新增输出数据集“最新一天数据”,点击【确认】。

配置最新一天数据任务配置最新一天数据任务

描述最新数据筛选要求

在「输入内容」中发送以下要求:

输入是「压缩机每日运行指标」,一天一行。请只保留 stat_date 最大的那一天,作为最新运行指标。

要求:
1. 输出字段与输入完全一致,顺序也不变,不新增不删减。
2. 只输出一行,即日期最晚的那一天。
3. 数值原样保留,不做四舍五入、不做单位换算。
4. 若存在两条日期最大的记录,只保留一条并说明。

跑完请核对:输出必须恰好一行,且该行 stat_date 等于输入中的最大日期。

输入最新一天筛选要求输入最新一天筛选要求

处理完成后,在「输出结果」中确认“最新一天数据”只包含一行,stat_date 为 2020-04-17,并保留输入中的 7 个字段。

查看最新一天数据结果查看最新一天数据结果

在「数据」中打开“最新一天数据”,切换到「数据质量」页签。首次进入时,页面显示尚未创建数据质量规则,可通过【创建规则】开始配置。

进入数据质量页面进入数据质量页面

配置数据质量规则

创建平均压力规则

先以“H1平均压力检查”为例完成一条规则的配置。后续规则沿用相同的配置方式,具体字段和阈值见汇总表。

  1. 在「数据质量」页面点击【创建规则】,进入「编辑数据质量规则」页面。
    进入创建数据质量规则页面进入创建数据质量规则页面
  2. 在规则名称中填写“H1平均压力检查”,在“规则类型”中选择“列值均处于指定范围内”。
  3. 打开“每次构建数据集后自动执行该规则”。
  4. 在“目标数据列”中选择 avg_h1。
  5. 在“指定范围”中设置最小值 1、警告下限 7、警告上限 10、最大值 12,点击【运行测试】验证规则,确认无误后点击【保存】。

配置 H1 平均压力检查配置 H1 平均压力检查

汇总全部规则配置

完成“H1平均压力检查”的配置后,继续创建其余规则。5 条规则的规则类型均为“列值均处于指定范围内”,目标数据列和阈值统一如下表:

规则名称目标数据列最小值警告下限警告上限最大值
H1平均压力检查avg_h1171012
排放压力平均值检查avg_dv_pressure-0.5-0.60.55
平均油温检查avg_oil_temperature0307090
最高油温检查max_oil_temperature0307590
平均电机电流检查avg_motor_current0049

表中的阈值与规则配置页面一致:低于最小值或高于最大值时判定为不通过,低于警告下限或高于警告上限时判定为警告。所有 5 条规则均启用“每次构建数据集后自动执行该规则”。按照上表完成其余规则配置后,保存规则。

第一天运行规则并查看结果

规则配置完成后,在「数据质量」页面点击【运行全部规则】。初始页面显示 5 条规则均为“未运行”。

运行全部数据质量规则运行全部数据质量规则

运行完成后,当前状态显示数据质量正常,5 条规则全部通过,警告和不通过数量均为 0。这里检查的是当天数据库数据的质量状态。

查看全部通过的规则结果查看全部通过的规则结果

查看总体数据质量

规则运行完成后,进入「运行中心」的「数据质量」,查看项目内数据集质量状态、规则数量和最近运行时间。

在运行中心查看项目数据质量状态在运行中心查看项目数据质量状态

第二天更新后构建并运行全流程

第二天数据库内容发生变化后,返回「流程」,可以看到原始数据、清洗明细、每日指标和最新一天数据按处理顺序串联。选中“最新一天数据”,准备点击【构建】。

在流程画布中构建最新一天数据在流程画布中构建最新一天数据

点击【构建】后,系统从源数据开始重新运行整条流程,依次执行明细清洗、每日指标汇总和最新一天数据筛选,重新读取数据库中的新增数据,使“最新一天数据”进入下一天。由于 5 条规则均已启用自动检查,整条流程构建完成后会触发对应的数据质量检查。

构建完成后,最新一天数据可查看日期为 2020-04-18 的指标记录及对应统计值;后续每次数据库更新到新的一天,都重复执行整条流程,并触发该日期的数据质量检查。

查看重新构建后的最新一天数据查看重新构建后的最新一天数据

返回“最新一天数据”的「数据质量」时间线,可确认新一天的 5 条规则运行结果。

确认最新运行日的规则通过结果确认最新运行日的规则通过结果

案例总结

本案例完成了空压机运行数据从 PostgreSQL 接入、明细清洗、按日汇总到最新数据筛选的处理链路,并为最新指标数据配置了 5 条数据质量规则。通过「数据质量」页面可以查看当前规则状态、具体实际值和历史时间线;通过「运行中心」可以查看项目内各数据集的整体质量状态。

该案例形成了按天运行的监控闭环:数据库更新到第二天后重新构建,构建生成下一天数据并触发质量检查;如果检查不通过,则将该日期识别为空气泄漏发生日,再结合实际值、阈值和时间线定位异常指标。检查通过则表示该日数据未触发已配置的泄漏判定规则。