地铁空气压缩机运行数据质量监控
背景
空压机运行数据由传感器持续采集,原始明细需要先统一字段类型、去除重复记录和无效记录,再按日汇总运行指标,并提取最新一天的数据供后续分析。数据按天更新:第二天数据库写入新增运行数据后,重新构建流程,构建会生成下一天的 最新一天数据,并触发已启用的数据质量规则。
质量检查用于识别空气泄漏。当某一天的规则检查不通过时,表示该天的运行指标超出配置阈值,在本案例中即判定该天发生了空气泄漏;通过时间线和规则实际值可以定位异常日期及异常指标。
本案例使用 PostgreSQL 数据源中的 metrop_batch_01 表,建立从原始明细到质量监控结果的处理链路。
案例数据集
案例使用 PostgreSQL 数据源中的 metrop_batch_01 表。压缩包包含数据库初始批次及后续增量批次文件。
操作流程
- 在「流程」中通过 PostgreSQL 数据源创建数据集。
- 创建智能数据处理任务,清洗空压机运行明细,输出
压缩机运行明细。 - 创建智能数据处理任务,按天汇总明细,输出
压缩机每日指标。 - 创建智能数据处理任务,从每日指标中筛选最新一天,输出
最新一天数据。 - 在「数据质量」中为
最新一天数据创建并配置 5 条质量规则。 - 第二天数据库更新后重新构建流程,生成下一天的
最新一天数据,并触发数据质量检查。 - 在当前状态和时间线中查看规则结果;检查不通过的日期即为空气泄漏发生日。
创建 PostgreSQL 数据集
在「流程」中打开【导入数据】菜单,选择【PostgreSQL】。
打开 PostgreSQL 导入入口
在「新建 PostgreSQL 数据集」页面中选择数据源 sample,填写数据集名称“地铁空气压缩机运行数据质量监控”,选择数据库模式 public 和数据表 metrop_batch_01。确认数据预览后,点击【创建】。
配置 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平均压力检查”为例完成一条规则的配置。后续规则沿用相同的配置方式,具体字段和阈值见汇总表。
- 在「数据质量」页面点击【创建规则】,进入「编辑数据质量规则」页面。
进入创建数据质量规则页面 - 在规则名称中填写“H1平均压力检查”,在“规则类型”中选择“列值均处于指定范围内”。
- 打开“每次构建数据集后自动执行该规则”。
- 在“目标数据列”中选择
avg_h1。 - 在“指定范围”中设置最小值
1、警告下限7、警告上限10、最大值12,点击【运行测试】验证规则,确认无误后点击【保存】。
配置 H1 平均压力检查
汇总全部规则配置
完成“H1平均压力检查”的配置后,继续创建其余规则。5 条规则的规则类型均为“列值均处于指定范围内”,目标数据列和阈值统一如下表:
| 规则名称 | 目标数据列 | 最小值 | 警告下限 | 警告上限 | 最大值 |
|---|---|---|---|---|---|
| H1平均压力检查 | avg_h1 | 1 | 7 | 10 | 12 |
| 排放压力平均值检查 | avg_dv_pressure | -0.5 | -0.6 | 0.5 | 5 |
| 平均油温检查 | avg_oil_temperature | 0 | 30 | 70 | 90 |
| 最高油温检查 | max_oil_temperature | 0 | 30 | 75 | 90 |
| 平均电机电流检查 | avg_motor_current | 0 | 0 | 4 | 9 |
表中的阈值与规则配置页面一致:低于最小值或高于最大值时判定为不通过,低于警告下限或高于警告上限时判定为警告。所有 5 条规则均启用“每次构建数据集后自动执行该规则”。按照上表完成其余规则配置后,保存规则。
第一天运行规则并查看结果
规则配置完成后,在「数据质量」页面点击【运行全部规则】。初始页面显示 5 条规则均为“未运行”。
运行全部数据质量规则
运行完成后,当前状态显示数据质量正常,5 条规则全部通过,警告和不通过数量均为 0。这里检查的是当天数据库数据的质量状态。
查看全部通过的规则结果
查看总体数据质量
规则运行完成后,进入「运行中心」的「数据质量」,查看项目内数据集质量状态、规则数量和最近运行时间。
在运行中心查看项目数据质量状态
第二天更新后构建并运行全流程
第二天数据库内容发生变化后,返回「流程」,可以看到原始数据、清洗明细、每日指标和最新一天数据按处理顺序串联。选中“最新一天数据”,准备点击【构建】。
在流程画布中构建最新一天数据
点击【构建】后,系统从源数据开始重新运行整条流程,依次执行明细清洗、每日指标汇总和最新一天数据筛选,重新读取数据库中的新增数据,使“最新一天数据”进入下一天。由于 5 条规则均已启用自动检查,整条流程构建完成后会触发对应的数据质量检查。
构建完成后,最新一天数据可查看日期为 2020-04-18 的指标记录及对应统计值;后续每次数据库更新到新的一天,都重复执行整条流程,并触发该日期的数据质量检查。
查看重新构建后的最新一天数据
返回“最新一天数据”的「数据质量」时间线,可确认新一天的 5 条规则运行结果。
确认最新运行日的规则通过结果
案例总结
本案例完成了空压机运行数据从 PostgreSQL 接入、明细清洗、按日汇总到最新数据筛选的处理链路,并为最新指标数据配置了 5 条数据质量规则。通过「数据质量」页面可以查看当前规则状态、具体实际值和历史时间线;通过「运行中心」可以查看项目内各数据集的整体质量状态。
该案例形成了按天运行的监控闭环:数据库更新到第二天后重新构建,构建生成下一天数据并触发质量检查;如果检查不通过,则将该日期识别为空气泄漏发生日,再结合实际值、阈值和时间线定位异常指标。检查通过则表示该日数据未触发已配置的泄漏判定规则。
