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作为中间结果交给下一实验继续加工。4 实验步骤步骤1创建目标表在助睿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总赞同数仅知乎新建转换流拖入执行一个sql脚本组件选择数据源插入建表语句DROPTABLEIFEXISTSsummary_all_platforms;CREATETABLEIFNOTEXISTSsummary_all_platforms(idINTAUTO_INCREMENTPRIMARYKEYCOMMENT自增主键ID,crawl_dateDATENOTNULLCOMMENT采集日期,platformVARCHAR(20)NOTNULLCOMMENT平台名称,content_countINTCOMMENT作品数量,total_viewsINTCOMMENT总浏览数,total_likesINTCOMMENT总点赞数,total_favoritesINTCOMMENT总收藏数,total_sharesINTCOMMENT总分享数,total_coinsINTCOMMENT总投币数仅B站,total_recommendINTCOMMENT总推荐数仅微信,total_likes_zhihuINTCOMMENT总喜欢数仅知乎,total_approvalsINTCOMMENT总赞同数仅知乎)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT全平台概况汇总表;执行并查看日志这张表不做任何过滤保留所有平台的原始数据。各平台特色指标B站的投币、微信的推荐、知乎的喜欢/赞同单独保留列不合并到通用指标中。因为B站的投币和知乎的赞同含义不同加在一起反而说不清楚让它们各自独立读者能清晰地看到每个平台有哪些互动行为。第二张是内容分析表content_analysis作为实验二的输入。字段与原始数据基本一致但只包含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)是否含“踩坑”其中 interaction_rate, has_best, has_lowcode, has_practice, has_tutorial, has_pit 字段的数据加工将在下一个实验中完成。新建转换流同样拖入执行一个sql脚本组件连接数据源插入sql语句DROPTABLEIFEXISTScontent_analysis;CREATETABLEIFNOTEXISTScontent_analysis(idINTAUTO_INCREMENTPRIMARYKEYCOMMENT自增主键ID,dateDATENOTNULLCOMMENT采集日期,author_nameVARCHAR(100)COMMENT作者昵称,titleVARCHAR(500)NOTNULLCOMMENT作品标题,platformVARCHAR(20)NOTNULLCOMMENTB站 / CSDN,likesINTCOMMENT点赞数,favoritesINTCOMMENT收藏数,sharesINTCOMMENT分享数,coinsINTCOMMENT投币数仅B站,viewsINTCOMMENT播放量/阅读量,urlVARCHAR(500)COMMENT作品链接,total_interactionINTCOMMENT互动总数,has_bestTINYINT(1)COMMENT是否含“保姆级” 0否1是,has_lowcodeTINYINT(1)COMMENT是否含“零代码” 0否1是,has_practiceTINYINT(1)COMMENT是否含“实战” 0否1是,has_tutorialTINYINT(1)COMMENT是否含“教程/指南” 0否1是,has_pitTINYINT(1)COMMENT是否含“踩坑” 0否1是)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT内容分析明细表实验二输入仅B站、CSDN有效数据;执行转换流并查看日志步骤2导入原始数据将已提供在助睿ETL公共空间的自媒体作品数据明细.csv导入到自己的文件库中作为数据源输入。助睿ETL支持多种数据源接入CSV文件可直接导入。本次分析使用的数据来源于助睿ETL公共空间的自媒体作品数据明细.csv已采集了同学们在6月8日-6月15日前提交的作品互动数据。需要说明的是该数据集仅覆盖采集时间节点前已发布且未被删除的作品之后新提交或已删除的作品不在此次分析范围内。导入前请先将该文件从公共空间复制到自己的文件库中。步骤3全平台聚合统计在数据清洗之前先做一个分支。拖入“排序记录”、“分组”组件按日期和平台排序、分组其余数值字段全部取求和。输出summary_all_platforms新建转换流拖入csv文件输入配置如下拖入排序记录组件获取字段并保留需要分组的字段拖入分组组件获取字段后保留需要进行分组的字段删除作者名字、url、source_file、title字段后其余字段全部求和拖入表输出组件选择目标表勾选编辑获取字段步骤4过滤记录在另一个分支中使用“过滤记录”组件筛选B站和CSDN的有效记录只保留 B站 和 CSDN 两个平台原始数据包含B站、CSDN、微信、知乎、小红书等多个平台。由于微信、知乎等平台的浏览数量大量缺失值为0无法支撑有意义的分析因此只保留 B站 和 CSDN 的记录。2删除两个平台中浏览量为0的记录聚焦于真正产生用户互动的作品。使用助睿ETL的“过滤记录”组件通过AND与OR组合条件(平台 B站 AND 浏览数量 0 ) OR (平台 CSDN AND 浏览数量 0)在“过滤记录”组件中对应的配置如图逻辑说明括号内的条件组合确保“平台”与“有效记录判定”同时满足一个组件完成双重过滤。助睿ETL的过滤记录组件支持编写复杂条件表达式可通过 AND、OR 灵活组合多条件一步到位完成精细化数据筛选。步骤5填充缺失值由于数值字段没有空值但作者名称和作品标题可能存在空值我们统一填充为位置避免后续使用时出现异常。步骤6字段选择原始数据中的source_file是采集批次标记分析阶段用不到剔除掉。投币数量coins保留作为B站特有的互动指标。用“字段选择”组件只保留以下字段其他字段全部剔除date, author_name, title, platform, likes, favorites, shares, coins, views, url步骤7输出清洗后中间表将处理后的数据输出为cleaned_details这张表是实验7-2的输入。步骤8执行转换流完整转换流如下点击运行数据探查结果5 核心知识点总结多条件过滤使用 AND/OR 组合平台过滤与有效记录判定一个组件完成双重过滤缺失值处理统一填充默认值避免计算异常多日期保留保留时间维度用于趋势分析暂不做去重助睿ETL Pipeline通过多个Transform步骤组合完成完整的数据加工流程wWI3-1782204942129)][外链图片转存中…(img-Jd1SAiBt-1782204942130)]5 核心知识点总结本实验基于清洗后的内容数据构建了一套完整的特征工程ETL管道。核心任务分为两层在明细层通过计算器与JavaScript脚本提取了互动总指标及5个标题关键词特征并利用“插入/更新”机制无损回填至content_analysis表在汇总层设计了多分支并行计算流程分别统计了整体均值与关键词均值最终合并输出至title_feature_analysis表为后续量化分析标题策略的效果奠定了数据基石。
实验7.1:自媒体运营分析-数据清洗与预处理
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作为中间结果交给下一实验继续加工。4 实验步骤步骤1创建目标表在助睿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总赞同数仅知乎新建转换流拖入执行一个sql脚本组件选择数据源插入建表语句DROPTABLEIFEXISTSsummary_all_platforms;CREATETABLEIFNOTEXISTSsummary_all_platforms(idINTAUTO_INCREMENTPRIMARYKEYCOMMENT自增主键ID,crawl_dateDATENOTNULLCOMMENT采集日期,platformVARCHAR(20)NOTNULLCOMMENT平台名称,content_countINTCOMMENT作品数量,total_viewsINTCOMMENT总浏览数,total_likesINTCOMMENT总点赞数,total_favoritesINTCOMMENT总收藏数,total_sharesINTCOMMENT总分享数,total_coinsINTCOMMENT总投币数仅B站,total_recommendINTCOMMENT总推荐数仅微信,total_likes_zhihuINTCOMMENT总喜欢数仅知乎,total_approvalsINTCOMMENT总赞同数仅知乎)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT全平台概况汇总表;执行并查看日志这张表不做任何过滤保留所有平台的原始数据。各平台特色指标B站的投币、微信的推荐、知乎的喜欢/赞同单独保留列不合并到通用指标中。因为B站的投币和知乎的赞同含义不同加在一起反而说不清楚让它们各自独立读者能清晰地看到每个平台有哪些互动行为。第二张是内容分析表content_analysis作为实验二的输入。字段与原始数据基本一致但只包含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)是否含“踩坑”其中 interaction_rate, has_best, has_lowcode, has_practice, has_tutorial, has_pit 字段的数据加工将在下一个实验中完成。新建转换流同样拖入执行一个sql脚本组件连接数据源插入sql语句DROPTABLEIFEXISTScontent_analysis;CREATETABLEIFNOTEXISTScontent_analysis(idINTAUTO_INCREMENTPRIMARYKEYCOMMENT自增主键ID,dateDATENOTNULLCOMMENT采集日期,author_nameVARCHAR(100)COMMENT作者昵称,titleVARCHAR(500)NOTNULLCOMMENT作品标题,platformVARCHAR(20)NOTNULLCOMMENTB站 / CSDN,likesINTCOMMENT点赞数,favoritesINTCOMMENT收藏数,sharesINTCOMMENT分享数,coinsINTCOMMENT投币数仅B站,viewsINTCOMMENT播放量/阅读量,urlVARCHAR(500)COMMENT作品链接,total_interactionINTCOMMENT互动总数,has_bestTINYINT(1)COMMENT是否含“保姆级” 0否1是,has_lowcodeTINYINT(1)COMMENT是否含“零代码” 0否1是,has_practiceTINYINT(1)COMMENT是否含“实战” 0否1是,has_tutorialTINYINT(1)COMMENT是否含“教程/指南” 0否1是,has_pitTINYINT(1)COMMENT是否含“踩坑” 0否1是)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT内容分析明细表实验二输入仅B站、CSDN有效数据;执行转换流并查看日志步骤2导入原始数据将已提供在助睿ETL公共空间的自媒体作品数据明细.csv导入到自己的文件库中作为数据源输入。助睿ETL支持多种数据源接入CSV文件可直接导入。本次分析使用的数据来源于助睿ETL公共空间的自媒体作品数据明细.csv已采集了同学们在6月8日-6月15日前提交的作品互动数据。需要说明的是该数据集仅覆盖采集时间节点前已发布且未被删除的作品之后新提交或已删除的作品不在此次分析范围内。导入前请先将该文件从公共空间复制到自己的文件库中。步骤3全平台聚合统计在数据清洗之前先做一个分支。拖入“排序记录”、“分组”组件按日期和平台排序、分组其余数值字段全部取求和。输出summary_all_platforms新建转换流拖入csv文件输入配置如下拖入排序记录组件获取字段并保留需要分组的字段拖入分组组件获取字段后保留需要进行分组的字段删除作者名字、url、source_file、title字段后其余字段全部求和拖入表输出组件选择目标表勾选编辑获取字段步骤4过滤记录在另一个分支中使用“过滤记录”组件筛选B站和CSDN的有效记录只保留 B站 和 CSDN 两个平台原始数据包含B站、CSDN、微信、知乎、小红书等多个平台。由于微信、知乎等平台的浏览数量大量缺失值为0无法支撑有意义的分析因此只保留 B站 和 CSDN 的记录。2删除两个平台中浏览量为0的记录聚焦于真正产生用户互动的作品。使用助睿ETL的“过滤记录”组件通过AND与OR组合条件(平台 B站 AND 浏览数量 0 ) OR (平台 CSDN AND 浏览数量 0)在“过滤记录”组件中对应的配置如图逻辑说明括号内的条件组合确保“平台”与“有效记录判定”同时满足一个组件完成双重过滤。助睿ETL的过滤记录组件支持编写复杂条件表达式可通过 AND、OR 灵活组合多条件一步到位完成精细化数据筛选。步骤5填充缺失值由于数值字段没有空值但作者名称和作品标题可能存在空值我们统一填充为位置避免后续使用时出现异常。步骤6字段选择原始数据中的source_file是采集批次标记分析阶段用不到剔除掉。投币数量coins保留作为B站特有的互动指标。用“字段选择”组件只保留以下字段其他字段全部剔除date, author_name, title, platform, likes, favorites, shares, coins, views, url步骤7输出清洗后中间表将处理后的数据输出为cleaned_details这张表是实验7-2的输入。步骤8执行转换流完整转换流如下点击运行数据探查结果5 核心知识点总结多条件过滤使用 AND/OR 组合平台过滤与有效记录判定一个组件完成双重过滤缺失值处理统一填充默认值避免计算异常多日期保留保留时间维度用于趋势分析暂不做去重助睿ETL Pipeline通过多个Transform步骤组合完成完整的数据加工流程wWI3-1782204942129)][外链图片转存中…(img-Jd1SAiBt-1782204942130)]5 核心知识点总结本实验基于清洗后的内容数据构建了一套完整的特征工程ETL管道。核心任务分为两层在明细层通过计算器与JavaScript脚本提取了互动总指标及5个标题关键词特征并利用“插入/更新”机制无损回填至content_analysis表在汇总层设计了多分支并行计算流程分别统计了整体均值与关键词均值最终合并输出至title_feature_analysis表为后续量化分析标题策略的效果奠定了数据基石。