实验七:自媒体运营分析-数据清洗与预处理
一、实验背景1实验目的本实验基于全班同学在多平台发布的作品互动数据使用助睿ETL完成数据清洗与预处理输出两张核心数据表为后续特征工程与可视化分析奠定基础。通过本实验学生应掌握理解数据清洗在数据分析流程中的基础性与必要性使用助睿ETL完成多源数据的过滤、填充、聚合等预处理操作掌握“分支处理”的设计思路全平台概况统计与重点平台深度分析分流输出两张规范数据表支撑仪表盘不同模块的数据需求2实验环境实验平台助睿在线实验平台https://lab.guilian.cn/本次实验使用助睿数智Uniplore 作为一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能适用于数据分析教学与企业数据加工场景。助睿数智官网为https://www.uniplore.com//数据处理工具助睿ETL数据集成平台助睿ETL核心优势全元数据驱动架构平台内所有对象类型均通过元数据标准化定义覆盖数据读取、处理、写入的全流程零代码拖拽式操作通过可视化方式完成数据的抽取Extract、转换Transform、加载Load无需编写复杂代码丰富的预处理组件内置筛选、填充、聚合、连接、字段选择等多种转换节点灵活应对各类数据清洗场景Pipeline转换机制面向数据流通处理的核心功能单元由多个不同功能的Transform步骤组合构成聚焦数据本身的加工转换操作开源内核高可用引擎基于开源内核的高可用引擎架构通过标准化插件体系可灵活扩展引擎能力3核心设计思路3.1为什么需要数据清洗采集到的原始数据往往不能直接用于分析需要先做清洗。观察自媒体作品数据明细.csv 这份数据可以发现几个问题平台冗余数据包含了B站、CSDN、微信、知乎、小红书等多个平台但微信、知乎等平台的浏览数量几乎全是0。这些平台虽然有作品记录但缺乏核心的浏览数据无法支撑有意义的分析。无效记录部分作品的浏览数量、点赞数量、收藏数量全部为0。这些记录可能是采集失败也可能是作品确实无人问津但无论如何它们对分析没有贡献。字段缺失点赞、收藏、分享等字段中存在空值如果不处理后续计算会报错。数据清洗要做的就是把这些问题逐一解决。3.2数据处理流程本次实验有一个特殊之处后续可视化仪表盘需要同时展示两类信息。第一类是“全平台概况”——全班总共发了多少内容覆盖了几个平台总浏览和总互动是多少这些数字需要基于所有平台的原始数据来统计哪怕浏览数为0也要计入作品数。第二类是“重点平台深度分析”——B站和CSDN的具体表现如何播放量、阅读量、互动率是多少这些分析只需要B站和CSDN的有效数据浏览数大于0的记录。两类信息对数据的要求不同所以在ETL中需要做分支处理两张表各司其职summary_all_platforms 只用于仪表盘顶部的全平台概况指标卡cleaned_details 作为中间结果交给下一实验继续加工。二、实验步骤1 创建内容分析表新建转换流”创建内容分析表“下面是组件组件配置输入下面sql语句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创建全平台概况表新建转换流”创建全平台概况表“下面是组件组件配置输入下面sql语句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 全平台概况汇总表存储各平台原始采集数据;最后执行转换流3 导出数据集点击公共空间然后点击数据资源导出自媒体作品数据明细.csv4 创建转换流“数据清洗与预处理新建转换流”数据清洗与预处理“下面是组件组件配置csv文件输入:导入自媒体作品数据明细.csv编码UTF-8然后获取字段排序记录按crawl_data和platform排序分组全平台聚合统计表输出过滤记录空操作什么也不做无替换NULL值字段选择移除不要的字段表输出1三、实验结果全平台概况表内容分析表四、问题与解决无五、实验总结这次实验我学会了如何把自媒体作品数据进行数据清洗与预处理