还在手写 SQL 洗数据?几行建表 + 拖拽 ETL,半小时搞定自媒体全链路分析

📅 2026/7/8 12:55:12
还在手写 SQL 洗数据?几行建表 + 拖拽 ETL,半小时搞定自媒体全链路分析
一、实验目标以全班同学在多平台公开发布的作品互动记录为研究对象借助助睿ETL平台实施数据清洗与预处理操作最终生成两张关键数据表为后续的特征构建与可视化研究做好铺垫。完成本实验后应具备以下能力1.认识数据清洗在整个数据分析体系中的基础地位与关键作用。2.熟练运用助睿ETL对多来源数据进行过滤筛选、缺失值填补、分组汇总等预处理操作。3.理解分流处理的设计理念将全平台整体统计与重点平台精细化分析进行分路处理。4.产出一对规范化的数据表各自服务于仪表盘不同模块的数据调用需求。二、实验环境贵兰在线助睿数智。三、整体设计思路3.1 数据清洗的必要性采集获取的原始数据通常无法直接投入分析使用需要经过系统性的清洗处理。观察《自媒体作品数据明细.csv》这份原始数据集可以发现其中存在若干突出问题第一平台冗余问题。数据集中覆盖了多个内容平台的发布记录部分平台上确实存在作品发布行为但关键的浏览指标严重缺失难以支撑有价值的分析工作。第二无效记录问题。部分数据行的浏览数、点赞数、收藏数三项核心指标同时为零。这些记录可能是采集环节出现遗漏也可能是作品本身缺乏关注度无论原因如何它们对后续分析不具备贡献价值。第三字段缺失问题。点赞、收藏、分享等数值型字段中存在空值情况若不经处理直接进行运算将引发计算异常或结果偏差。数据清洗的核心任务就是针对上述各类问题逐一进行排查与修复。3.2 数据处理流程设计本实验在设计上有一个特殊考量后续可视化仪表盘需要同步呈现两大类型的数据信息。第一类为全平台整体概况——全班总计发布了多少条内容覆盖了几个不同的发布平台总的浏览量以及互动量分别是多少这类统计指标需要立足于全部平台的原始记录进行计算即使是浏览量为零的记录也需纳入作品数量的统计之中。第二类为重点平台深度分析——聚焦于B站和CSDN两大平台的具体表现情况。这两个平台的播放量、阅读量以及互动率处于什么水平这类分析仅需选取B站与CSDN的有效数据即浏览数超过零值的记录。由于这两类信息对数据的要求存在差异因此需要在ETL流程中实施分路处理策略两张输出表各司其职summary_all_platforms表专门用于仪表盘顶部的全平台概况指标卡展示cleaned_details表则作为中间结果输出交由下一阶段实验继续进行特征加工处理。四、实验操作步骤步骤1创建目标数据表在助睿ETL工作区中建立两张目标数据表。第一张是全平台汇总统计表summary_all_platforms用于存放涵盖全部平台的聚合统计数据其字段结构设计如下表所示表1 summary_all_platforms 全平台汇总表字段结构字段名称数据类型字段说明crawl_dateDATE数据采集日期platformVARCHAR(20)发布平台名称content_countINT发布作品总数total_viewsINT总浏览量合计total_likesINT总点赞数合计total_favoritesINT总收藏数合计total_sharesINT总分享数合计total_coinsINT总投币数B站专属指标total_recommendINT总推荐数微信专属指标total_likes_zhihuINT总喜欢数知乎专属指标total_approvalsINT总赞同数知乎专属指标该表不进行任何过滤操作完整保留全部平台的原始统计数据。各个平台独有的特色指标如B站的投币数、微信的推荐数、知乎的喜欢数与赞同数分别设立独立字段进行存储不将其合并到通用互动指标中。这样设计的考量在于不同平台互动行为的含义各不相同——例如B站的投币与知乎的赞同代表截然不同的用户行为意图强行合并只会造成语义混淆。独立保留让读者能够清晰区分每个平台特有的互动行为类型。DROP TABLE IF EXISTS summary_all_platforms;CREATE TABLE summary_all_platforms (id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 自增主键ID,crawl_date DATE COMMENT 采集日期,platform VARCHAR(20) 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 全平台汇总概况表保留全部平台原始汇总数据;第二张是内容分析明细表content_analysis作为实验二的数据输入来源其字段设计与原始数据结构大体保持一致但限定仅收录B站与CSDN两个平台的有效数据记录表2 content_analysis 内容分析明细表字段结构字段名称数据类型字段说明dateDATE采集日期author_nameVARCHAR(100)作者昵称titleVARCHAR(500)作品标题文本platformVARCHAR(20)平台B站/CSDNlikesINT点赞数量favoritesINT收藏数量sharesINT分享数量coinsINT投币数量仅B站有效viewsINT播放量/阅读量urlVARCHAR(500)作品访问链接total_interactionINT互动总数后续实验计算has_bestTINYINT(1)标题含保姆级标志has_lowcodeTINYINT(1)标题含零代码标志has_practiceTINYINT(1)标题含实战标志has_tutorialTINYINT(1)标题含教程/指南标志has_pitTINYINT(1)标题含踩坑标志interaction_rateDECIMAL互动率后续实验计算注意互动率interaction_rate以及has_best、has_lowcode、has_practice、has_tutorial、has_pit这六个特征字段的数值加工将在下一个实验实验7-2中完成。DROP TABLE IF EXISTS content_analysis;CREATE TABLE content_analysis (id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 自增主键ID,date DATE COMMENT 采集日期,author_name VARCHAR(100) COMMENT 作者昵称,title VARCHAR(500) COMMENT 作品标题,platform VARCHAR(20) 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 是否含“保姆级”1是0否,has_lowcode TINYINT(1) COMMENT 是否含“零代码”1是0否,has_practice TINYINT(1) COMMENT 是否含“实战”1是0否,has_tutorial TINYINT(1) COMMENT 是否含“教程/指南”1是0否,has_pit TINYINT(1) COMMENT 是否含“踩坑”1是0否) ENGINE InnoDB DEFAULT CHARSET utf8mb4 COMMENT 内容分析表实验二输入源仅存储B站、CSDN有效记录;步骤2加载原始数据将助睿ETL公共空间中已预置的《自媒体作品数据明细.csv》文件导入到个人文件库内作为数据处理的输入来源。助睿ETL兼容多种数据源接入方式CSV格式文件可直接完成导入操作。说明本次分析所采用的数据集源自助睿ETL公共空间中的《自媒体作品数据明细.csv》。该数据集涵盖了同学们在6月8日至6月15日期间提交的作品互动数据。需要指出的是该数据集的数据范围仅限于采集时间节点前已经发布且尚未删除的作品在此之后新提交或已被删除的作品不纳入本次分析范围。导入操作前务必先将该文件从公共空间拷贝至个人文件库中。步骤3全平台维度聚合统计在进入数据清洗环节之前首先设置一条分支路径。在工作区中拖入排序记录组件和分组组件按照采集日期字段和平台字段进行排序与分组其余所有数值型字段统一采用求和聚合方式处理最终产出summary_all_platforms汇总表。步骤4数据记录筛选过滤在另一条分支路径中利用过滤记录组件从中提取B站与CSDN的有效数据记录1仅保留B站和CSDN两条渠道。原始数据涵盖B站、CSDN、微信、知乎、小红书等多个平台但由于微信和知乎等平台的浏览数据大量缺失数值为0难以支撑有效分析故仅选取B站和CSDN的数据记录。2进一步剔除这两个平台中浏览量为零的数据行将分析范围聚焦于确实产生了用户互动的作品。在助睿ETL的过滤记录组件中通过AND与OR逻辑运算符组合设置筛选条件筛选条件表达式(平台 B站 AND 浏览数量 0) OR (平台 CSDN AND 浏览数量 0)逻辑说明使用括号将每个平台的判定条件进行分组确保平台归属与有效记录判定两个条件同时被满足通过单个组件即可实现双重维度的数据过滤。助睿ETL的过滤记录组件支持编写包含多层级逻辑组合的复杂条件表达式能够灵活运用AND和OR操作符一次性地完成精细化数据筛选。步骤5缺失值统一填充经检查数值型字段中未发现空值情况但作者昵称和作品标题字段中可能出现空值统一将其填充为未知避免后续处理环节中出现异常。步骤6字段筛选与精简原始数据中的source_file字段属于采集批次的标记信息在分析阶段不发挥实际作用予以剔除。投币数量字段予以保留作为B站平台独有的互动评价指标。借助字段选择组件仅保留以下十个字段其余字段全部移除保留字段date采集日期、author_name作者昵称、title作品标题、platform平台、likes点赞数、favorites收藏数、shares分享数、coins投币数、views浏览/播放量、url作品链接步骤7输出目标数据表将经过上述处理流程的数据结果输出为content_analysis表该表将作为实验7-2的数据输入基础。步骤8运行完整转换流完成所有组件配置后完整的转换流结构如下所示确认无误后点击运行按钮执行。数据探查结果展示五、核心知识点归纳复合条件过滤技术通过AND与OR逻辑运算符的组合应用将平台筛选与有效记录判定整合在单个过滤组件中一次完成实现双重条件的精准筛选缺失值处理策略对文本型字段的空值统一填充默认占位符从根源上规避后续计算环节可能出现的异常多日期维度保留保留采集日期的时间维度信息为后续的趋势变化分析提供数据支持暂不执行去重操作Pipeline流水线机制通过多个Transform处理步骤的有序组合构成完整的数据加工流水线实现从原始数据到规范结果的端到端流转宽表设计思想遵循一次清洗、多次复用的设计原则单张宽表即可支撑全部后续分析需求降低重复加工成本六、实验总结本实验完整地展示了自媒体运营数据清洗与预处理的标准化流程。从原始数据的问题诊断出发明确了数据清洗在平台去重、无效记录排除、缺失值处理三个维度的具体任务。通过助睿ETL平台的可视化操作实现了从多源原始数据到两张规范化数据表的完整加工链路。其中全平台汇总表为宏观指标监控提供数据底座内容分析明细表则为后续的特征工程与深度分析奠定数据基础。实验所采用的分路处理策略——一条路径负责全貌统计另一条路径负责重点深挖——是处理多源异构数据时的一种实用方法论值得在更广泛的数据分析场景中加以迁移应用。