一、实验背景1.1实验目的本实验基于全班同学在多平台发布的作品互动数据使用助睿ETL完成数据清洗与预处理输出两张核心数据表为后续特征工程与可视化分析奠定基础。通过本实验学生应掌握理解数据清洗在数据分析流程中的基础性与必要性使用助睿ETL完成多源数据的过滤、填充、聚合等预处理操作掌握“分支处理”的设计思路全平台概况统计与重点平台深度分析分流输出两张规范数据表支撑仪表盘不同模块的数据需求1.2 实验思路1..2.1 为什么需要数据清洗采集到的原始数据往往不能直接用于分析需要先做清洗。观察 自媒体作品数据明细.csv 这份数据可以发现几个问题平台冗余数据包含了B站、CSDN、微信、知乎、小红书等多个平台但微信、知乎等平台的浏览数量几乎全是0。这些平台虽然有作品记录但缺乏核心的浏览数据无法支撑有意义的分析。无效记录部分作品的浏览数量、点赞数量、收藏数量全部为0。这些记录可能是采集失败也可能是作品确实无人问津但无论如何它们对分析没有贡献。字段缺失点赞、收藏、分享等字段中存在空值如果不处理后续计算会报错。数据清洗要做的就是把这些问题逐一解决。1.2.2数据处理流程本次实验有一个特殊之处后续可视化仪表盘需要同时展示两类信息。第一类是“全平台概况”——全班总共发了多少内容覆盖了几个平台总浏览和总互动是多少这些数字需要基于所有平台的原始数据来统计哪怕浏览数为0也要计入作品数。第二类是“重点平台深度分析”——B站和CSDN的具体表现如何播放量、阅读量、互动率是多少这些分析只需要B站和CSDN的有效数据浏览数大于0的记录。两类信息对数据的要求不同所以在ETL中需要做分支处理两张表各司其职summary_all_platforms 只用于仪表盘顶部的全平台概况指标卡cleaned_details 作为中间结果交给下一实验继续加工。二、实验步骤2.1导入数据在公共空间处导出数据自媒体作品数据明细.csv右键资源库新建转换流命名为“创建标题特征互动分析表“2.2创建表在画布中拖入组件“执行一个SQL脚本”解锁画布编辑组件数据库连接选择团队私有数据库脚本代码如下CREATE TABLE IF NOT EXISTS title_feature_analysis (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 自增主键,platform VARCHAR(20) NOT NULL COMMENT 平台B站/CSDN,feature_name VARCHAR(50) COMMENT 关键词名称,avg_interaction DECIMAL(10,2) COMMENT 含该关键词的平均互动总数,overall_avg DECIMAL(10,2) COMMENT 该平台整体平均互动总数,sample_count INT COMMENT 含该关键词的作品数) ENGINEInnoDB DEFAULT CHARSETutf8mb4COMMENT标题特征互动分析表;点击确认执行转化流以同样的方式创建内容分析表全平台概况表内容分析表的SQL代码CREATE TABLE IF NOT EXISTS content_analysis (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 自增主键,crawl_date DATE NOT NULL COMMENT 采集日期,author_name VARCHAR(100) COMMENT 作者昵称,title VARCHAR(500) COMMENT 作品标题,platform VARCHAR(20) NOT NULL COMMENT B站 / CSDN,likes INT DEFAULT 0 COMMENT 点赞数,favorites INT DEFAULT 0 COMMENT 收藏数,shares INT DEFAULT 0 COMMENT 分享数,coins INT DEFAULT 0 COMMENT 投币数仅B站,views INT DEFAULT 0 COMMENT 播放量/阅读量,url VARCHAR(500) COMMENT 作品链接,total_interaction INT DEFAULT 0 COMMENT 互动总数,has_best TINYINT(1) COMMENT 是否含保姆级,has_lowcode TINYINT(1) COMMENT 是否含零代码,has_practice TINYINT(1) COMMENT 是否含实战,has_tutorial TINYINT(1) COMMENT 是否含教程/指南,has_pit TINYINT(1) COMMENT 是否含踩坑) ENGINEInnoDB DEFAULT CHARSETutf8mb4COMMENT内容分析表;全平台概况表SQL代码CREATE TABLE IF NOT EXISTS summary_all_platforms (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 自增主键,crawl_date DATE NOT NULL COMMENT 采集日期,platform VARCHAR(20) NOT NULL COMMENT 平台名称,content_count INT DEFAULT 0 COMMENT 作品数量,total_views INT DEFAULT 0 COMMENT 总浏览数,total_likes INT DEFAULT 0 COMMENT 总点赞数,total_favorites INT DEFAULT 0 COMMENT 总收藏数,total_shares INT DEFAULT 0 COMMENT 总分享数,total_coins INT DEFAULT 0 COMMENT 总投币数仅B站,total_recommend INT DEFAULT 0 COMMENT 总推荐数仅微信,total_likes_zhihu INT DEFAULT 0 COMMENT 总喜欢数仅知乎,total_approvals INT DEFAULT 0 COMMENT 总赞同数仅知乎) ENGINEInnoDB DEFAULT CHARSETutf8mb4COMMENT全平台概况表;2.2全平台聚合统计在数据清洗之前先做一个分支。拖入“排序记录”、“分组”组件按 日期 和 平台 排序、分组其余数值字段全部取求和。输出 summary_all_platforms2.3过滤记录在另一个分支中使用“过滤记录”组件筛选B站和CSDN的有效记录只保留 B站 和 CSDN 两个平台原始数据包含B站、CSDN、微信、知乎、小红书等多个平台。由于微信、知乎等平台的浏览数量大量缺失值为0无法支撑有意义的分析因此只保留 B站 和 CSDN 的记录。逻辑说明括号内的条件组合确保“平台”与“有效记录判定”同时满足一个组件完成双重过滤。助睿ETL的过滤记录组件支持编写复杂条件表达式可通过 AND、OR 灵活组合多条件一步到位完成精细化数据筛选。2.4填充缺失值由于数值字段没有空值但作者名称和作品标题可能存在空值我们统一填充为位置避免后续使用时出现异常。2.5字段选择原始数据中的 source_file是采集批次标记分析阶段用不到剔除掉。投币数量coins保留作为B站特有的互动指标。用“字段选择”组件只保留以下字段其他字段全部剔除date, author_name, title, platform, likes, favorites, shares, coins, views, url2.6输出目标表将处理后的数据输出为 content_analysis这张表是实验7-2的输入。三、实验结果执行转换流并数据探查在助睿BI看输出表四、实验心得本次实验完成自媒体多平台原始数据ETL清洗让我彻底理解数据清洗是数据分析全流程的地基没有高质量底层数据后续特征计算、可视化分析都会出现偏差甚至报错。拿到原始数据集后我直观看到多源采集数据存在大量缺陷微信、知乎、小红书等平台浏览量几乎全为0属于无效冗余数据大量作品点赞、阅读全部归零是无价值采集记录标题、作者字段存在空值直接聚合统计会产生计算异常。实验最核心的设计是分支处理数据流一套原始数据分流生成两张用途完全不同的数据表summary_all_platforms保留全平台所有记录用于大盘指标统计cleaned_details仅筛选B站、CSDN有效流量数据用于深度分析。一开始我没有理解双分支的意义尝试统一过滤全部零流量数据导致全平台作品总量统计失真仪表盘总览指标卡数值出错反复调试后才明白不同分析场景对数据口径的要求存在本质区别。实操中熟练掌握了助睿ETL各类组件过滤记录多条件组合、替换NULL值填充文本空字段、字段选择剔除冗余采集字段、SQL脚本建表、分组聚合批量求和。过程中多次出现数据表字段不匹配、过滤逻辑写反、空值未填充导致聚合为空等问题通过数据探查逐行核对记录才逐一修正。