数据清洗

使用 DataMate 清洗和预处理数据

数据清洗模块提供强大的数据处理能力,帮助您清洗、转换和优化数据质量。

功能概述

数据清洗模块提供:

  • 内置清洗算子:丰富的前置清洗算子库
  • 可视化配置:拖拽式配置清洗流程
  • 模板管理:保存和复用清洗模板
  • 批量处理:支持大规模数据批量清洗
  • 实时预览:预览清洗结果

清洗算子类型

数据质量算子

算子功能适用数据类型
去重删除重复数据所有类型
空值处理删除或填充空值所有类型
异常值检测检测和处理异常值数值型
格式校验校验数据格式所有类型

文本清洗算子

算子功能
去除特殊字符去除文本中的特殊符号
大小写转换统一大小写格式
去除停用词去除常见停用词
文本分词中文分词处理
HTML 标签清理清理 HTML 标签

图像清洗算子

算子功能
格式转换转换图像格式
尺寸调整统一图像尺寸
质量检测检测图像质量
去重基于内容去重

数据转换算子

算子功能
类型转换转换数据类型
归一化数值归一化处理
编码转换字符编码转换
日期格式化统一日期格式

快速开始

1. 创建清洗任务

步骤 1:进入数据清洗页面

在左侧导航栏选择 数据处理

步骤 2:创建任务

点击右上角 创建任务 按钮。

步骤 3:配置基本信息

  • 任务名称:例如 user_data_cleansing
  • 任务描述:描述清洗任务的目的(可选)
  • 源数据集:选择要清洗的数据集
  • 输出数据集:选择或创建输出数据集

步骤 4:配置清洗流程

在清洗流程配置页面:

  1. 从左侧算子库拖拽算子到中间画布
  2. 连接算子形成处理流程
  3. 配置每个算子的参数
  4. 预览清洗结果

示例流程:

输入数据 → 去重 → 空值处理 → 格式校验 → 输出数据

步骤 5:配置执行参数

  • 执行模式:立即执行 / 定时执行
  • 并发数:任务并发数(默认 1)
  • 失败策略:跳过失败记录 / 终止任务

步骤 6:创建并执行

点击 创建 按钮创建任务。如果选择立即执行,任务将自动开始运行。

2. 使用清洗模板

创建模板

  1. 配置好清洗流程
  2. 点击 保存为模板
  3. 输入模板名称和描述
  4. 点击保存

使用模板

  1. 创建清洗任务时,点击 使用模板
  2. 从模板列表选择模板
  3. 系统自动加载模板配置
  4. 根据需要调整配置

3. 监控清洗任务

查看任务列表

在数据清洗页面,可以看到所有清洗任务:

任务名称源数据集输出数据集状态进度操作
文本清洗raw_textclean_text运行中50%查看详情
图像去重imagesunique_images已完成100%查看详情

查看任务详情

点击任务名称进入详情页面,可以看到:

  • 任务配置:清洗流程和参数
  • 执行记录:历史执行记录
  • 清洗统计
    • 输入记录数
    • 输出记录数
    • 清洗掉的记录数
    • 清洗率

查看清洗结果

在任务详情页面,点击 查看结果 可以:

  • 查看清洗后的数据
  • 对比清洗前后数据
  • 导出清洗结果

清洗算子详解

去重算子

功能:删除重复的数据记录

参数

  • 去重字段:选择用于判断重复的字段
  • 保留策略:保留第一条 / 保留最后一条

示例

输入:
{"id": 1, "name": "Alice"}
{"id": 1, "name": "Alice"}
{"id": 2, "name": "Bob"}

输出(保留第一条):
{"id": 1, "name": "Alice"}
{"id": 2, "name": "Bob"}

空值处理算子

功能:处理空值(NULL/空字符串)

参数

  • 处理策略:删除记录 / 填充默认值
  • 填充值:当选择填充时,指定填充值

示例

输入:
{"id": 1, "name": "Alice", "age": null}
{"id": 2, "name": null, "age": 25}

输出(填充默认值 "Unknown"):
{"id": 1, "name": "Alice", "age": "Unknown"}
{"id": 2, "name": "Unknown", "age": 25}

文本清洗算子

功能:清洗文本数据

参数

  • 去除特殊字符:是否去除
  • 转换大小写:不转换 / 全部小写 / 全部大写
  • 去除停用词:是否去除
  • 最小长度:过滤短于该长度的文本

示例

输入:"Hello!!! This is a Test..."

输出(去除特殊字符、转小写):
"hello this is a test"

图像格式转换算子

功能:转换图像格式

参数

  • 目标格式:JPG / PNG / WebP
  • 质量:输出图像质量(1-100)
  • 尺寸:调整图像尺寸(可选)

数据归一化算子

功能:数值型数据归一化

参数

  • 归一化方法:Min-Max / Z-Score
  • 目标范围:Min-Max 归一化的目标范围

示例

输入(Min-Max 归一化到 [0, 1]):
{"age": 20, "salary": 5000}
{"age": 40, "salary": 10000}

输出:
{"age": 0.0, "salary": 0.0}
{"age": 1.0, "salary": 1.0}

高级功能

自定义算子

除了内置算子,DataMate 还支持自定义算子开发。详见:

条件分支

在清洗流程中,可以添加条件分支:

输入数据 → [条件判断]
              ├── 满足条件 → 处理流程 A
              └── 不满足条件 → 处理流程 B

条件类型

  • 字段值比较
  • 数据类型检查
  • 自定义表达式

循环处理

对于需要重复处理的场景,可以使用循环算子:

  • For 循环:固定次数循环
  • While 循环:条件循环
  • 迭代循环:遍历集合

数据验证

在清洗完成后,可以添加数据验证算子:

  • 完整性验证:检查必填字段
  • 一致性验证:检查字段间关系
  • 业务规则验证:自定义验证规则

常见问题

Q: 清洗任务执行失败怎么办?

A: 按以下步骤排查:

  1. 检查数据格式:确保数据格式与算子要求一致
  2. 查看执行日志:获取详细错误信息
  3. 检查参数配置:确保算子参数配置正确
  4. 测试单个算子:单独测试问题算子
  5. 减少数据量:先用小数据集测试

Q: 如何处理大量数据?

A: 大数据量清洗建议:

  1. 分批处理:将大数据集拆分为多个小批次
  2. 增加并发:适当增加并发数
  3. 使用增量清洗:只清洗新增或变更的数据
  4. 优化流程:简化清洗流程,移除不必要的算子

Q: 清洗速度慢怎么办?

A: 优化清洗速度:

  1. 减少算子数量:只使用必要的算子
  2. 优化算子顺序:先过滤数据再处理
  3. 增加并发:提高任务并发数
  4. 使用增量处理:避免重复处理

Q: 如何保证清洗质量?

A: 建议的清洗流程:

  1. 数据探索:先了解数据质量状况
  2. 制定规则:根据业务需求制定清洗规则
  3. 小批量测试:先在小数据集上测试
  4. 验证结果:清洗后验证数据质量
  5. 定期审查:定期审查和更新清洗规则

API 参考

详细的 API 文档请参考:

相关文档