【助睿实验指导】实验7-1:自媒体运营分析-数据清洗与预处理
一、实验目标本次实验以全班同学在多平台B站、CSDN、知乎、微信等发布的作品互动数据为基础借助Uniplore ETL工具完成数据清洗与预处理工作最终生成两张规范化数据表为后续的特征构建与可视化分析做好准备。通过本实验的学习你将掌握以下技能理解数据清洗在整个分析流程中的基础地位与必要性熟练运用Uniplore ETL进行多源数据的过滤、缺失值填充、聚合统计等预处理操作掌握分流处理的设计思想全平台概况统计与重点平台深度分析各自走不同的处理分支学会输出结构清晰、可直接支撑仪表盘各模块数据需求的规范数据表二、实验环境实验平台Uniplore在线实验环境https://lab.guilian.cn/数据处理引擎Uniplore ETL数据集成平台三、核心设计思路3.1为什么要做数据清洗直接从各平台采集回来的原始数据通常存在不少脏数据不能直接拿来做分析。以本次实验使用的《自媒体作品数据明细.csv》为例至少存在三个典型问题平台冗余数据虽然覆盖了B站、CSDN、微信、知乎、小红书等多个渠道但微信、知乎等平台的浏览数据大面积缺失几乎全是0这些平台虽有作品条目却缺少核心流量指标无法支撑有效分析无效记录部分作品的浏览、点赞、收藏三项指标全为零可能是采集环节出了问题也可能是作品确实没有任何互动无论哪种情况都对分析没有贡献字段缺失点赞数、收藏数、分享数等字段中存在NULL值如果不加以处理后续任何计算都会报错或产生偏差数据清洗的本质就是逐一排查并修复上述问题确保交付给下游的每一行数据都是可用的。3.2双分支处理流程这次实验有一个独特之处最终的可视化仪表盘需要同时展示两类不同粒度的信息。第一类是全平台总览——全班一共发布了多少内容数据来自几个平台全平台累计浏览量和互动量分别是多少这些宏观数字需要用到所有平台的原始记录即使某些平台的浏览数为零也要计入作品总数。第二类是重点平台深度分析——B站和CSDN的具体表现如何各自的播放量/阅读量、互动率怎样这些分析只关注B站和CSDN中浏览数大于零的有效记录。由于两类信息对数据的要求截然不同在ETL中需要做分流处理。一条分支直接对所有数据进行聚合统计产出全平台汇总表summary_all_platforms另一条分支先做过滤、再清洗加工产出内容分析明细表content_analysis作为后续实验的输入。两张表定位清晰、职责明确summary_all_platforms 专供仪表盘顶部的全平台KPI指标卡使用content_analysis 则是实验7-2特征工程的原材料。四、实验操作步骤步骤1创建目标表首先在Uniplore ETL中创建两张目标表。第一张表全平台概况表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站的投币和知乎的赞同含义完全不同强行加在一起反而会造成理解混乱不如让它们各自独立展示读者一眼就能看清每个平台有哪些互动行为。第二张表内容分析表content_analysis作为实验7-2的输入。字段结构与原始数据基本一致但只保留B站和CSDN的有效记录字段名数据类型说明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)标题是否含踩坑注total_interaction、has_best、has_lowcode、has_practice、has_tutorial、has_pit 这六个字段的数据将在实验7-2中完成计算和回填。步骤2导入原始数据将Uniplore ETL公共空间中提供的《自媒体作品数据明细.csv》复制到自己的文件库中作为本次实验的数据源。该文件收录了同学们在6月8日至6月15日期间提交的作品互动数据。需要留意的是该数据集只覆盖采集时间节点之前已发布且未被删除的作品后续新提交或已删除的内容不在本次分析范围内。Uniplore ETL支持多种数据源接入方式CSV文件可直接导入使用。步骤3全平台聚合统计在正式开始清洗之前先将一份原始数据分流出去。拖入排序记录和分组两个组件按照日期和平台两个维度先排序再分组其余所有数值字段统一取求和。最终输出到 summary_all_platforms 表中。步骤4过滤有效记录在另一条分支上使用过滤记录组件筛选B站和CSDN两个平台的有效数据仅保留B站和CSDN两个平台。原始数据虽然涵盖B站、CSDN、微信、知乎、小红书等多个渠道但微信、知乎等平台的浏览数据大面积缺失值均为0无法支撑有意义的分析因此只聚焦数据相对完整的B站和CSDN删除两个平台中浏览量为零的记录只保留真正产生了用户互动的作品在Uniplore ETL的过滤记录组件中通过 AND 和 OR 组合设置筛选条件(平台 B站 AND浏览数量 0)OR(平台 CSDN AND浏览数量 0)逻辑解释括号内的条件组合确保了平台与有效记录判定两个条件必须同时满足方可保留一个组件即可完成双重筛选。Uniplore ETL的过滤组件支持编写较为复杂的条件表达式可灵活运用AND、OR组合实现精细化的数据过滤。步骤5填充缺失值经检查本数据集的数值字段没有空值但作者名称和作品标题字段可能个别为空。为了确保后续使用不出现异常统一将这些文本字段的空值填充为未知。步骤6字段筛选原始数据中的 source_file 字段是采集批次的标记在分析阶段用不上直接剔除。投币数量coins字段保留因为它是B站特有的互动指标具有分析价值。使用字段选择组件只保留以下十个字段其余全部舍弃date, author_name, title, platform, likes, favorites, shares, coins, views, url步骤7输出目标表将清洗完成的数据输出为 content_analysis 表这张表将直接作为实验7-2特征工程的输入。步骤8执行转换流水线检查完整的ETL转换流无误后点击运行按钮执行全流程。可在数据探查面板中查看输出结果验证数据清洗是否符合预期。五、核心知识点回顾多条件组合过滤利用AND/OR逻辑将平台过滤与有效记录判断合并到一个组件中完成缺失值处理策略对文本字段统一填充默认值防止后续计算出现空指针异常多日期保留原则保留完整的时间维度而不做去重为后续趋势分析留出空间Uniplore ETL Pipeline通过串联多个Transform步骤构建完整的数据加工链路宽表设计理念遵循一次清洗、多次使用的原则一张表覆盖全部后续分析需求#助睿数智 #商业数据分析 #数据分析 #ETL