news 2026/6/3 1:09:28

【助睿实验指导】浏览器市场与用户画像分析-数据加工

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【助睿实验指导】浏览器市场与用户画像分析-数据加工

一、实验目标

通过本次实验,熟悉实验所用数据集的整体结构,掌握半结构化日志类数据的典型特征。熟练掌握文本日志解析、字段拆分与规整的实际操作方法,将零散、无固定格式的原始日志数据转换为规范的结构化数据表。完成多维度数据聚合、新字段生成与跨表关联操作,构建适用于用户行为分析场景的指标体系,并完成机器学习所需的特征工程处理,最终生成可直接用于预测建模的标准数据集。

二、实验环境

本次实验基于贵兰在线实验平台https://lab.guilian.cn/。一站式数据科学平台,支持数据接入、ETL处理、机器学习建模、可视化展示等全流程零代码操作,可用于数据分析教学与企业级数据加工,官方网址为https://www.uniplore.com/。本次实验的数据处理环节基于助睿ETL数据集成平台完成。实验数据规模覆盖1000名用户,包含超过800万条行为记录,数据总大小约825MB。

三、实验数据

本次实验使用首届中国互联网数据挖掘竞赛公开数据集,该数据集为典型的计算机用户行为半结构化日志数据,适用于用户行为分析、习惯挖掘、活跃度预测及用户画像研究。

3.1 数据特点

本次实验的日志属于半结构化数据,无固定行列格式,无法直接用于分析;同时具备数据量大、文件分散、格式统一、规则清晰的特点,适合批量解析处理。

四、实验步骤

4.1 创建实验项目

点击平台页面“新建项目”,输入项目名称“互联网用户行为日志数据加工”,点击确定完成创建。项目创建成功后,可在数据集成页面查看该项目。

4.2 日志数据结构化转换

4.2.1 数据资源获取

由于整体数据量较大,本次实验仅使用20个TXT文件学习半结构化数据转结构化数据的方法。实验所需的部分原始数据已上传至平台公共空间,需导入至个人文件目录以便后续使用。

进入项目后,左侧显示资源库、文件、元数据三个菜单:资源库用于管理工作流;文件库用于存放实验文件;元数据用于配置运行环境、数据库、集群等信息。

点击文件库,右键根目录新建目录,命名为“互联网用户行为日志数据集”。进入公共空间的数据资源,将属于该数据集的20个TXT文件依次导出至新建目录中。

接下来我们将公共空间的数据资源导入到这个目录下

点击“数据资源”

点击属于“互联网用户行为日志数据集”下的数据卡片右上角的“更多”,并点击“导出”

可以看到在互联网用户行为日志数据集的目录下,新增了数据文件

接下来重复以上导出操作,将本次实验用到的20个数据都导出到“互联网用户行为日志数据集”

4.2.2 建立数据源连接

由于此前实验已完成团队私有数据库连接配置,本次实验可直接复用,无需重新创建。

4.2.3 创建原始用户行为日志表

新建转换工作流,命名为“创建原始行为日志数据表”,拖拽“执行一个SQL脚本”组件,选择团队私有数据库,执行建表SQL语句,创建用户行为事件明细表behavior_events。运行转换流,完成数据表创建。

SQL:

CREATE TABLE behavior_events (

id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',

session_id VARCHAR(255) COMMENT '会话唯一ID',

user_id VARCHAR(100) COMMENT '用户ID',

session_start_time VARCHAR(50) COMMENT '会话开始时间',

event_seconds INT COMMENT '事件发生秒数',

process_name VARCHAR(255) COMMENT '进程名称',

process_id VARCHAR(100) COMMENT '进程ID',

url TEXT COMMENT '访问网址',

addr_handle VARCHAR(255) COMMENT '地址栏句柄',

tab_handle VARCHAR(255) COMMENT '标签页句柄',

browser_version VARCHAR(100) COMMENT '浏览器版本',

window_handle VARCHAR(255) COMMENT '窗口句柄',

app_name VARCHAR(255) COMMENT '程序名称',

company_name VARCHAR(255) COMMENT '开发公司',

source_file VARCHAR(255) COMMENT '原始日志文件名',

create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',

INDEX idx_session_id (session_id),

INDEX idx_user_id (user_id)

) COMMENT '用户行为事件明细表';

配置如下

运行转换流

由于原始数据为半结构化格式,无法直接通过文件输入组件读取,因此采用批量读取文件名→Java代码解析→字段筛选→结构化输出的处理流程。

4.2.4 获取文件名:批量读取日志文件

新建转换流“行为日志数据转为结构化数据”,拖拽“获取文件名”组件,选择实验数据目录,批量读取所有TXT文件路径与名称。

双击“获取文件名”组件,在配置窗口中,点击文件或目录后后的“浏览文件”按钮,在弹出的窗口中选择我们上面创建的目录“互联网用户行为日志数据集”,再点击“确定”

选择目录后点击增加

选择的目录出现在下方的路径中后,点击 “确认”。

4.2.5 Java代码:日志解析与结构化转换

拖拽“Java代码”组件,与“获取文件名”组件连接。通过代码实现文件读取、文件名解析、日志头部跳过、按分隔符拆分字段,提取会话ID、用户ID、开机时间、行为时间、进程名、URL等关键字段,输出结构化数据。在组件中配置所有输出字段及对应类型,确保后续组件可正常识别。

输入指导书提供的Java代码,在字段空白表格处右键点击“插入”

双击插入的行,字段名输入“session_id”,类型选择“String”

继续插入行,依次将java代码中输出的字段进行配置,参考指导书

最后点击确认

4.2.6 字段选择:筛选并规整有效字段

拖拽“字段选择”组件,移除文件名、路径等冗余字段,仅保留解析后的有效业务字段,完成数据规整。

双击 “字段选择” 组件,点击 tab 选项 “移除”,并在字段名称下方空白处右键点击 “获取字段”。

最后剩下多余的字段即可点击“确认”

4.2.7 表输出:结构化数据入库

拖拽“表输出”组件,连接字段选择组件,配置团队私有数据库,将结构化数据写入behavior_events表,勾选裁剪表避免重复写入,完成字段映射后执行数据落地。

双击“表输出”组件,选择“团队私有数据库”连接

勾选“指定数据库字段”,建立工作流字段与数据库表字段的映射关系。勾选后会激活“数据库字段”tab页,在数据库字段tab页,右键选择“获取字段”, 双击表字段,在下拉框中选择正确的表字段,设置完成后点击确认

4.2.8 执行转换流

运行转换流,查看日志确认执行成功。通过元数据加载与数据探查功能,验证数据是否正确入库。在弹出执行配置窗口中,选择默认配置,然后点击“启动”按钮,启动工作流

打开“元数据”tab页,在“团队私有数据库”连接上右键选择“加载元数据”

双击目标表“behavior_events”,在右侧页面选择“查询”tab标签

查看数据库表数据是否符合预期

4.3 确定数据分析方向

得到behavior_events表后,按进程名称统计用户数量,快速定位用户覆盖最广的程序类型,为后续分析确定方向。

4.3.1 创建进程统计表

新建转换流“创建进程统计表”,执行SQL脚本创建program_stats表,用于记录各程序的使用用户数。

配置组件

SQL:

-- 创建程序/软件统计表

CREATE TABLE program_stats (

program_name VARCHAR(255) NOT NULL, -- 程序/软件名称

user_count INT NOT NULL -- 使用用户数

);

为了顺利运行转换流,我们点开“元数据”,双击“团队私有数据库”,勾选“使用结果流”

运行转换流

4.3.2 统计进程用户规模

新建转换流“统计进程用户规模”,读取behavior_events数据,筛选用户ID与进程名称,替换空值为“未知”,按进程名称排序后分组统计用户数量,结果写入program_stats表。

拖拽“字段选择”组件到画布中,并创建“表输入”组件到“字段选择”组件得连线,双击“字段选择”组件,点击tab选项“移除”,然后再字段名称下方空白处右键点击“获取字段”

统计每个进程得用户数量只需用到 user_id、process_name 两个字段,所以需要移除其他字段。选中user_id、process_name 两个字段,右键点击“删除选中的行”

点击确认

拖拽“替换NULL值”组件到画布中,并创建“字段选择”组件到“替换NULL值”组件的连线,连接线类型选中“主输出步骤”

按照图片进行配置

拖拽“排序字段”组件到画布中,创建“替换NULL值”组件到“排序记录”组件的连线,连接线类型选中“主输出步骤”

双击 “排序记录” 组件,将数据按照 “process_name” 字段升序排序。

拖拽“分组”组件到画布中,创建“排序记录”组件到“分组”组件的连线

分组聚合后的数据我们需要输出到4.3.1小节创建的统计表中,拖拽“表输出”组件,创建“分组”组件到“表输出”组件的连线

双击 “表输出” 组件,选择 “团队私有数据库” 连接,勾选 “裁剪表”,这样表输出组件在插入数据前会清空原始表数据,避免重复插入。

勾选 “指定数据库字段”,建立工作流字段与数据库表字段的映射关系。

最后执行转换流即可

4.3.3 可视化确定分析方向

进入助睿BI平台,基于进程统计表创建数据集与工作表,制作水平条图展示各程序用户数量排名。结果显示浏览器类程序用户覆盖量显著高于其他软件,因此确定以浏览器作为核心分析对象。

由于之前的实验已经创建了团队私有数据库的数据源连接,本次实验无需再创建数据源连接,可直接创建数据集

点击“数据集”菜单

右上角数据源选择进程统计表 program_stats 所在的 “商业数据分析” - “cs_group_8”。

将字段备注修改为中文。

保存并发布

点击工作表

数据集选择刚刚创建的数据集 “进程用户数据统计”,图表类型选择 “水平条图”。

4.4 设计分析方案与数据表

根据统计结果,围绕浏览器开展多维度分析,包括市场格局、用户画像、使用时段、用户留存、产品迁移、流失预测、个性化推荐等。本次实验优先完成浏览器用户覆盖及时段分析所需的两张表:

1. browser_coverage:各浏览器用户数与总使用时长

2. browser_hourly:各浏览器按小时活跃用户数

分别新建转换流,执行SQL语句创建对应数据表。

创建两个转换流,分别命名为 “创建浏览器的用户数总使用时长统计表”、“创建每个浏览器按小时统计活跃用户数统计表”。

SQL:

CREATE TABLE `browser_coverage` (

`browser_name` VARCHAR(50) NOT NULL COMMENT '浏览器进程名',

`user_count` INT NOT NULL COMMENT '使用用户数(去重)',

`total_duration_sec` BIGINT NOT NULL COMMENT '总使用时长(秒)'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='浏览器用户覆盖率与总时长';

SQL:

CREATE TABLE `browser_hourly` (

`browser_name` VARCHAR(50) NOT NULL COMMENT '浏览器进程名',

`hour` TINYINT NOT NULL COMMENT '小时(0-23)',

`active_user_count` INT NOT NULL COMMENT '活跃用户数',

PRIMARY KEY (`browser_name`, `hour`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='浏览器按小时活跃用户数';

4.5 数据清洗、聚合与关联加工

以behavior_events明细数据为基础,结合用户属性表,开展清洗、计算、聚合与关联加工,生成可用于分析的标准指标数据。

4.5.1 表输入:读取行为日志数据

新建转换流“互联网用户行为日志数据清洗抽取”,拖拽“表输入”组件,连接线上公共数据源读取全量behavior_events数据。

连接线上公共数据源

4.5.2 字段选择:剔除冗余字段

通过字段选择组件,移除无关字段,保留用户ID、会话时间、进程名称、URL、行为秒数等关键字段。

拖拽“字段选择”组件到画布中,创建“表输入”组件到“字段选择”组件的连线

选中 session_id, user_id, session_start_time, process_name, url, event_seconds 后删除选中的行,保留下来的字段就是要移除的字段,点击 “确认”

4.5.3 过滤记录:筛选浏览器数据

拖拽“过滤记录”组件,设置过滤条件,仅保留主流浏览器进程数据,其余数据丢弃。

拖拽 “排序记录” 组件到画布中,创建 “过滤记录” 组件到 “排序记录” 组件的连线,连接线类型选择 “True 输出”

再来一个选择False输出

配置过滤条件,点击第一个 “field”,选择 “process_name”,表示过滤条件为 process_name 的值

接着点击 “value”。在弹出的窗口中,类型选择 “String”

最后点击确认

4.5.4 计算用户停留时长

通过排序记录、分析查询、计算器三个组件配合,按会话与时间排序,读取下一行行为时间,计算得到单次行为停留时长,过滤无效负值数据。

双击 “排序记录” 组件,按 session_id 和 event_seconds 升序排列。

双击 “分析查询” 组件,分组字段为 “session_id”,新增加的字段为 “next_event_seconds”,要取值的字段为 “event_seconds”,类型 “前第 N 行”,N 为 “1”,获取同一会话内下一行的 event_seconds 值,存入新字段 next_event_seconds

添加计算器组件

双击 “计算器” 组件,插入新字段行,新字段输入 “duration_sec”,计算公式选择 “A - B”,字段 A 选择 “next_event_seconds”,字段 B 选择 “event_seconds”,值类型为 “Integer”

4.5.5字段选择:保留必要字段

使用 “字段选择” 组件,只保留 user_id, process_name, session_start_time, url, duration_sec 字段

4.5.6过滤记录:筛选停留时长 > 0 的数据

使用 “过滤记录” 组件,过滤掉 duration_sec <= 0 的记录

4.5.7 剪切字符串:提取日期

拖拽剪切字符串组件到画布中,创建过滤记录 1 组件到拖拽剪切字符串组件的连线,连接线类型选择 “True 输出”,剪切字符串组件的配置如下

4.5.8 字段选择:设置日期格式

拖拽字段选择组件到画布中,创建剪切字符串组件到字符选择组件的连线,连接线类型选择 “主输出步骤”,字段选择 2 组件的配置如下

4.5.9 计算器:提取小时

拖拽计算器组件到画布中,创建字符选择组件到计算器组件的连线,连接线类型选择 “主输出步骤”,计算器 1 组件的配置如下。

4.5.10 生成用户 - 日 - 浏览器 - 小时明细

拖拽排序记录组件到画布中,创建 “计算器 1” 组件到 “排序记录 1” 组件的连线,排序记录 1 组件的配置如下

4.5.11 分支 A:生成市场格局表

拖拽分组组件到画布中,创建 “分组” 组件到 “分组 1” 组件的连线。

分组聚合的结果需要落地数据库,拖拽 “表输出” 组件到画布中,创建 “分组 1” 组件到 “表输出组件的连线”。

4.5.12 分支 B:生成时段统计表

拖拽 “排序记录” 组件到画布中,创建 “分组” 组件到 “排序记录 2” 组件的连线,数据传输模式选择复制发送

拖拽分组组件到画布中,创建 “排序记录 2” 组件到 “分组 2” 组件的连线。

分组聚合的结果需要落地数据库,拖拽 “表输出” 组件到画布中,创建分组 2组件到表输出 1 组件的连线。表输出组的配置如下。

4.5.13 执行转换流

4.5.14 查看结果

点击 browser_coverage、browser_hourly 两个数据表,查询数据情况,确认数据符合预期。

五、实验结果

1. 完成半结构化日志到结构化数据的转换:成功解析20个原始日志文件,提取用户、行为、设备、访问等关键字段,生成标准结构化表behavior_events,解决原始数据无法直接分析的问题。

2. 完成进程用户规模统计:生成program_stats统计表,明确浏览器为用户覆盖最广的软件类型,确定后续分析方向。

3. 完成浏览器主题数据加工:计算用户有效停留时长,生成用户-日-浏览器-小时明细数据;输出browser_coverage表,反映各浏览器用户规模与使用强度;输出browser_hourly表,支撑浏览器时段使用偏好分析。

六、实验问题与解决方法

1. Java代码解析后字段无法被后续组件识别

解决:在Java代码组件中完整配置所有输出字段的名称与类型,确保与代码定义一致,重新运行后字段可正常识别。

2. 分组聚合结果异常、计数不准确

解决:分组前未按分组字段排序,添加排序记录组件按关键字段升序排序后,聚合结果恢复准确。

七、实验总结

本次实验围绕浏览器用户行为分析与流失预测的数据加工环节展开,以半结构化用户行为日志为处理对象,完成了从原始数据解析到标准化指标输出的全流程操作。实验中,我成功将零散杂乱的TXT日志文件通过文件名解析、Java代码解析、字段拆分与规整,转化为可直接分析的结构化数据表,并依托助睿ETL平台完成了数据清洗、过滤、排序、分组聚合、时长计算等关键处理。

通过统计各进程的用户覆盖规模,我确定了以浏览器为核心分析对象,进一步加工生成了浏览器用户覆盖率、使用总时长以及按小时分布的活跃用户数等关键指标表,为后续行为分析、用户画像与流失预测提供了标准、可靠的数据集。在操作过程中,我熟练掌握了表输入、字段选择、过滤记录、分组聚合、分析查询、数据入库等组件的使用方法,也深刻认识到数据处理中排序规范、空值处理、字段映射、无效数据过滤等细节对结果准确性的重要影响。

#助睿数智 #数据分析 #商业数据分析 #ETL #数据集成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 1:08:21

三分钟搞定黑苹果:OpCore-Simplify终极OpenCore配置指南

三分钟搞定黑苹果&#xff1a;OpCore-Simplify终极OpenCore配置指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置而烦恼吗…

作者头像 李华
网站建设 2026/6/3 1:08:03

2026 实测对比|全网热门变声器实测汇总,移动端电脑端全覆盖测评

不管是网游组队开黑、直播间互动、短视频配音&#xff0c;或是日常通话保护隐私&#xff0c;变声器已经成为实用性很高的影音工具。2026 年 AI 音频技术飞速迭代&#xff0c;市面上各类变声软件五花八门&#xff0c;不少新手纠结究竟挑选手机版还是电脑版、免费软件性价比如何。…

作者头像 李华
网站建设 2026/6/3 1:05:09

如何构建面向企业研发协作的规范化设计走查表与设计还原度优化设计系统与视觉资产库流程

如何构建面向企业研发协作的规范化设计走查表与设计还原度优化设计系统与视觉资产库流程 前言 上周五&#xff0c;我和前端开发同学因为一个按钮的圆角弧度争论了整整四十分钟。设计稿上是 border-radius: 12px&#xff0c;开发实现出来的视觉效果看起来像 16px。他坚持说&quo…

作者头像 李华
网站建设 2026/6/3 1:03:13

不想把访客数据送给 Google?15 分钟自建 Umami 网站统计先聊聊

转载自 我的个人博客 先聊聊 我的博客上线以后&#xff0c;一直有个痒点&#xff1a;到底有没有人看&#xff1f; Google Analytics 能回答这个问题&#xff0c;但我实在不想装——一个统计脚本几十 KB&#xff0c;拖慢加载速度不说&#xff0c;还把每个访客的行为数据送给 G…

作者头像 李华
网站建设 2026/6/3 1:02:08

网易新闻频道爬虫实战:从动态加载到数据持久化的完整指南。爬取网易新闻指定频道的正文(标题、时间、来源、内容)o 技术点:处理动态加载(部分新闻是后端渲染)

在数据驱动的时代,新闻数据的获取与分析成为信息处理的重要环节。网易新闻作为国内主流新闻门户,其频道内容丰富、更新及时,是数据挖掘和舆情分析的良好数据源。本文将带领大家从零开始,构建一个完整的网易新闻频道爬虫系统,不仅能够应对网易新闻的页面结构特点,还能处理…

作者头像 李华
网站建设 2026/6/3 1:02:07

[特殊字符] 多语言爬虫实战:纽约时报中文网财经板块深度爬取(附完整代码)爬取纽约时报中文网财经板块o 技术点:多语言网页、UTF-8编码

一、写在前面:为什么选择纽约时报中文网? 在当今全球化信息时代,跨国财经新闻的获取对于投资者、研究人员和财经爱好者来说至关重要。纽约时报中文网作为国际知名媒体,其财经板块涵盖了全球宏观经济、金融市场、企业动态、科技创新等众多前沿话题。然而,由于其多语言特性…

作者头像 李华