一、实验背景

1.1 实验目的

本次实验依托助睿 ETL 工具完成自媒体多平台原始数据清洗与预处理,是特征工程、可视化建模前的基础环节。通过实操我需要掌握以下内容:

  1. 理解数据清洗在数据分析、机器学习流程中的前置必要性,识别脏数据对后续建模、统计计算的干扰;
  2. 熟练使用助睿 ETL 拖拽式组件完成多条件过滤、空值填充、分组聚合、字段筛选等标准化预处理操作;
  3. 掌握 ETL 分支分流设计思路,区分全平台大盘统计重点平台深度明细两类数据处理逻辑;
  4. 产出两张标准化数据表,分别供给仪表盘指标卡、下一阶段特征工程使用。

1.2 实验环境

  1. 平台全称:助睿数智(Uniplore)一站式数据科学实验平台
  2. 官网地址:https://www.uniplore.com/
  3. 实验访问地址:https://lab.guilian.cn/
  4. 核心处理工具:助睿 ETL(UD Studio,数据集成模块)
  5. 工具核心特性
    • 零代码可视化 Pipeline,无需编写 SQL、Python 即可完成 ETL 全流程;
    • 内置 200 + 数据转换组件,覆盖清洗、聚合、关联、文本处理等场景;
    • 元数据统一管理,数据表跨实验可复用,适配完整数据链路;
    • 流批一体引擎,支持 CSV、数据库等多类数据源接入。
  6. 实验数据集 数据源文件:自媒体作品数据明细.csv 数据范围:6 月 8 日 - 6 月 15 日全班学生在 B 站、CSDN、微信、知乎、小红书发布的作品互动明细; 数据缺陷:多平台无效记录、文本字段空值、冗余采集字段、分平台差异化互动指标。

1.3 核心设计思路

3.1 数据清洗的必要性

原始采集数据存在三类脏数据,直接用于分析、机器学习会引发统计失真、代码报错:

  1. 平台冗余脏数据:微信、知乎、小红书绝大部分浏览量为 0,无有效分析价值,保留会稀释流量数据;
  2. 无效业务记录:部分作品浏览、点赞、收藏全部为 0,属于失效采集或零曝光内容,不适合深度分析;
  3. 缺失字段:标题、作者名称存在空值,后续文本特征提取、分组统计会出现空值报错。 数据清洗核心目标:剔除无效数据、补齐缺失内容、规范字段结构,拆分两套数据分别适配不同分析场景。
3.2 整体数据处理流程

原始 CSV 数据源导入 → 使用「复制记录」做双分支分流 分支 1(全平台汇总管线):排序→分组聚合→输出全平台总表summary_all_platforms 分支 2(重点平台清洗管线):多条件过滤→缺失值填充→精简字段→输出明细清洗表content_analysis 两张数据表分工:汇总表用于大盘总览指标,清洗明细表作为特征工程、可视化明细分析输入。

二、实验步骤(含操作说明、配置要点、截图说明)

步骤 1:创建两张目标数据表

操作说明:进入助睿 ETL 表管理模块,分别新建两张结构化数据表,提前定义字段名称、数据类型与业务含义,为后续表输出做准备。

表 1:summary_all_platforms(全平台汇总表)

表格

字段名 数据类型 配置说明
crawl_date DATE 数据采集日期,保留时间维度用于趋势统计
platform VARCHAR(20) 发布平台名称(B 站 / CSDN / 微信 / 知乎 / 小红书)
content_count INT 当日该平台发布作品总条数
total_views INT 平台全部作品总浏览量
total_likes INT 平台总点赞数量
total_favorites INT 平台总收藏数量
total_shares INT 平台总分享数量
total_coins INT B 站专属投币量,其他平台自动聚合为 0
total_recommend INT 微信专属推荐指标
total_likes_zhihu INT 知乎专属喜欢指标
total_approvals INT 知乎专属赞同指标

配置要点:不做任何数据过滤,完整保留全部平台数据;各平台独有互动指标独立建列,不合并求和,保证各平台业务指标可区分。

DROP TABLE IF EXISTS summary_all_platforms;
CREATE TABLE IF NOT EXISTS summary_all_platforms (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键ID',
    crawl_date DATE NOT NULL COMMENT '采集日期',
    platform VARCHAR(20) NOT NULL COMMENT '平台名称',
    content_count INT COMMENT '作品数量',
    total_views INT COMMENT '总浏览数',
    total_likes INT COMMENT '总点赞数',
    total_favorites INT COMMENT '总收藏数',
    total_shares INT COMMENT '总分享数',
    total_coins INT COMMENT '总投币数(仅B站)',
    total_recommend INT COMMENT '总推荐数(仅微信)',
    total_likes_zhihu INT COMMENT '总喜欢数(仅知乎)',
    total_approvals INT COMMENT '总赞同数(仅知乎)'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '全平台概况汇总表';
表 2:content_analysis(重点平台清洗明细表)
字段名 数据类型 配置说明
date DATE 采集日期
author_name VARCHAR(100) 作品作者昵称
title VARCHAR(500) 作品标题
platform VARCHAR(20) 仅存储 B 站、CSDN
likes/favorites/shares/coins INT 基础互动指标
views INT 播放 / 阅读量
url VARCHAR(500) 作品外链
total_interaction INT 预留字段,下一实验计算总互动
has_best/has_lowcode/has_practice/has_tutorial/has_pit TINYINT(1) 预留标题关键词 0-1 特征字段

配置要点:预留衍生特征字段,无需在本次实验填充,为实验 7-2 特征工程预留存储空间。 截图说明:截图保存数据表结构配置界面,留存字段类型、长度设置页面。

DROP TABLE IF EXISTS content_analysis;
CREATE TABLE IF NOT EXISTS content_analysis (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键ID',
    date DATE NOT NULL COMMENT '采集日期',
    author_name VARCHAR(100) COMMENT '作者昵称',
    title VARCHAR(500) NOT NULL COMMENT '作品标题',
    platform VARCHAR(20) NOT NULL COMMENT 'B站 / CSDN',
    likes INT COMMENT '点赞数',
    favorites INT COMMENT '收藏数',
    shares INT COMMENT '分享数',
    coins INT COMMENT '投币数(仅B站)',
    views INT COMMENT '播放量/阅读量',
    url VARCHAR(500) COMMENT '作品链接',
    total_interaction INT COMMENT '互动总数',
    has_best TINYINT(1) COMMENT '是否含“保姆级” 0否1是',
    has_lowcode TINYINT(1) COMMENT '是否含“零代码” 0否1是',
    has_practice TINYINT(1) COMMENT '是否含“实战” 0否1是',
    has_tutorial TINYINT(1) COMMENT '是否含“教程/指南” 0否1是',
    has_pit TINYINT(1) COMMENT '是否含“踩坑” 0否1是'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '内容分析明细表(实验二输入,仅B站、CSDN有效数据)';

步骤 2:导入原始 CSV 数据源

操作说明:从平台公共资源库拷贝原始数据至个人文件库,通过「文件输入」组件加载 CSV 作为整个 Pipeline 的数据源。

  1. 在 ETL 公共空间找到自媒体作品数据明细.csv,右键复制至个人私有文件库;
  2. 拖拽「文件输入」组件至画布,文件路径选择个人库内目标文件;
  3. 点击「数据探查」预览原始数据,记录空标题、零浏览、多平台混杂等脏数据现象。 配置要点:文件编码设置为 UTF-8,开启自动识别表头,数值字段统一识别为整数类型。 截图说明:原始数据预览探查截图,记录脏数据样本。

步骤 3:分支 1—— 全平台聚合统计

操作说明:使用「复制记录」将原始数据流一分为二,第一条分支完成全平台分组聚合,输出大盘汇总表。

  1. 拖拽「执行一个sql脚本」组件,将输入数据分流为两条独立管线;
  2. 第一条管线依次添加「排序记录」、「分组聚合」组件;
  3. 排序组件配置:按crawl_dateplatform升序排序;
  4. 分组聚合配置:分组字段为crawl_date、platform,聚合规则:
    • content_count:计数统计作品条数
    • 设置聚合字段,删除作者名字、url、source_file、title字段后其余字段全部求和
  5. 管线末端添加「表输出」组件,绑定目标表summary_all_platforms,不开启运行前裁剪表。 配置要点:聚合时保留平台专属指标,不做跨平台指标合并。 截图说明:聚合组件参数配置截图、分支完整管线截图。

步骤 4:分支 2—— 多条件过滤无效记录

操作说明:第二条清洗分支接入「过滤记录」组件,剔除无分析价值平台与零曝光作品。 过滤逻辑表达式:

(platform = 'B站' AND views > 0) OR (platform = 'CSDN' AND views > 0)

配置要点

  1. 条件区分字符串匹配(平台名称)与数值判断(浏览量);
  2. AND、OR 嵌套实现双重筛选:仅保留 B 站 / CSDN,同时剔除浏览量为 0 的作品;
  3. 运行过滤后预览数据,确认不存在微信、知乎、小红书记录,无 views=0 数据。 截图说明:过滤条件编辑器配置截图、过滤后数据预览截图。

步骤 5:缺失值填充处理

操作说明:过滤完成后接入「空值替换」组件,补齐作者、标题空文本,避免后续文本处理报错。

  1. 待填充字段:author_name、title;
  2. 填充规则:空值统一替换文本未知
  3. 数值互动字段无空值,无需配置填充规则。 配置要点:区分文本空值、数值空值两套处理逻辑,不统一填充数字。 截图说明:空值替换组件配置界面截图。

步骤 6:字段选择精简

操作说明:使用「字段选择」剔除采集冗余字段,仅保留业务分析所需字段。 剔除字段:source_file(采集批次标记,无分析意义) 保留字段:date, author_name, title, platform, likes, favorites, shares, coins, views, url 配置要点:勾选「移除未选中字段」,减少数据表冗余存储,提升后续计算效率。 截图说明:字段筛选配置界面截图。

步骤 7:输出清洗明细表

操作说明:字段筛选后接入「表输出」组件,将清洗完成明细写入content_analysis配置要点:勾选「运行前清空表」,保证每次实验产出干净无重复的明细数据。

步骤 8:完整转换流执行与数据验证

操作说明:检查两条分支组件连线、字段映射无报错,点击画布顶部「运行」执行整条 ETL 流水线。

  1. 运行结束后分别打开两张目标表执行数据探查;
  2. 验证标准:
    • summary_all_platforms:包含 5 个平台所有日期汇总数据;
    • content_analysis:仅存在 B 站、CSDN 有效作品,无标题 / 作者空值,无冗余字段。 截图说明:完整 Pipeline 流程图、两张数据表最终探查结果截图。

三、实验结果

  1. 产出数据表 1:summary_all_platforms 存储 6.8-6.15 全平台按日期聚合汇总数据,完整记录各平台作品总量、总浏览、分平台特色互动指标,共包含 5 个平台统计记录,可直接用于仪表盘顶部大盘指标卡。
  2. 产出数据表 2:content_analysis 完成脏数据剔除、空值补齐、字段精简后的有效作品明细,仅保留 B 站、CSDN 浏览量大于 0 的内容,无缺失文本,字段结构规范,作为实验 7-2 特征工程的基础输入数据源。
  3. 数据对比验证:原始 CSV 约 1900 条原始记录,经过滤清洗后有效明细数据约 1200 条,剔除全部无业务分析价值的脏数据,数据质量满足后续统计、文本特征提取需求。

四、问题与解决

问题 1:过滤组件执行后仍存在浏览量 = 0 的记录

  • 问题现象:配置完多条件过滤,数据预览依旧出现 views=0 的 B 站、CSDN 作品;
  • 问题原因:原始 CSV 中 views 字段被识别为字符串类型,数值大小判断逻辑失效;
  • 解决方法:在过滤组件前新增「类型转换」组件,将 views 统一转换为 INT 整数类型,重新运行过滤流程。

问题 2:空值填充完成后,标题、作者仍存在空白数据

  • 问题现象:配置文本空值替换为 “未知”,探查数据依旧存在空单元格;
  • 问题原因:原始数据空白为空格字符串,并非数据库标准 NULL 空值;
  • 解决方法:在空值替换前增加「字符串修剪」组件,清除字段前后空格,再执行空值填充。

问题 3:分组聚合后平台专属指标全部显示 0

  • 问题现象:summary_all_platforms 表中 B 站投币、知乎赞同数值均为 0,和原始数据不符;
  • 问题原因:分组聚合时字段映射错误,未匹配对应平台互动字段;
  • 解决方法:重新核对聚合组件字段映射关系,分平台指标单独配置求和规则。

五、实验总结

5.1 实验收获

  1. 掌握数据清洗完整业务逻辑,能够自主识别平台冗余、无效记录、字段缺失三类典型脏数据,理解脏数据对后续特征工程、可视化、机器学习的负面影响;
  2. 熟练使用助睿 ETL 核心预处理组件,掌握多条件 AND/OR 联合过滤、文本空值填充、分组聚合、字段精简的零代码操作方法;
  3. 理解 ETL 分支分流设计思想,区分大盘汇总、明细分析两套数据的加工差异,掌握宽表设计思路,实现一次清洗、多实验复用数据;
  4. 建立标准化数据处理思维:先规划数据表结构,再导入数据源,分流加工,最后数据校验,贴合企业真实数据分析工作流程。

5.2 平台整体评价

助睿数智 Uniplore 一站式平台完整覆盖 ETL 数据清洗、特征建模、可视化全链路,零代码拖拽模式降低数据分析入门门槛,无需掌握编程、SQL 即可完成专业数据预处理;内置丰富的数据转换组件,同时支持自定义配置适配差异化业务指标;数据表跨实验可复用,完整串联数据清洗、特征工程、可视化整套实训流程,非常适合商业数据分析、大数据基础课程实操教学。平台元数据标准化管理、可视化 Pipeline 流程清晰,便于记录每一步操作,方便实验复盘与问题排查。

Logo

一站式 AI 云服务平台

更多推荐