一、实验目的熟悉浏览器用户行为半结构化日志数据的构成与特点掌握文本日志解析、字段拆分的实操方法。完成数据规整将零散原始 TXT 日志转化为标准结构化数据表解决半结构化数据无法直接分析的问题。实现多维度数据聚合、字段衍生与跨表关联搭建适配浏览器用户行为分析场景的指标体系。完成基础数据清洗与聚合加工产出浏览器覆盖率、时段活跃度等核心分析数据集为后续流失预测建模奠定数据基础。掌握 Uniplore助睿数智ETL 平台零代码数据处理全流程提升半结构化数据处理、数据调试与数据分析实践能力。二、实验环境实验平台助睿在线实验平台、Uniplore 一站式数据科学平台工具组件Uniplore ETL 数据集成组件、SQL 执行组件、BI 可视化组件实验数据互联网用户行为日志 TXT 文件、用户信息表demographic.csv访问地址https://community.uniplore.com/t/topic/80三、实验步骤说明文中【截图占位】处可直接插入对应操作界面截图。一实验前期准备与项目创建打开浏览器输入实验地址并登录 Uniplore 平台进入平台首页工作台。【截图占位平台登录成功后的首页界面】在工作台页面点击新建项目按钮在弹窗中填写项目名称互联网用户行为日志数据加工选择项目分类点击确定完成项目创建。【截图占位新建项目弹窗及项目创建完成列表】进入刚创建的项目主页点击左侧导航栏文件库在根目录位置右键选择新建文件夹命名为互联网用户行为日志数据集点击确认。【截图占位文件库新建文件夹操作界面】进入平台公共空间 - 数据资源目录找到本次实验配套的 20 份日志 TXT 文件全选文件后批量导出 / 移动至上一步新建的文件夹内等待文件上传完成。【截图占位数据资源目录及文件批量导入过程界面】回到项目文件库检查文件夹内文件完整性确认所有日志文件均已成功导入准备开始数据处理流程。二创建原始行为日志数据表在项目主页左侧新建转换工作流命名为创建原始行为日志数据表在左侧组件库搜索执行一个 SQL 脚本组件鼠标拖拽该组件至画布中央区域。双击画布中的 SQL 脚本组件打开配置面板数据库连接选择团队私有数据库脚本编辑区输入建表 SQL 语句创建behavior_events行为事件明细表定义会话 ID、用户 ID、进程名称、访问 URL、操作时间等字段及字段类型点击预览校验确认 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 用户行为事件明细表;配置完成后点击画布上方运行按钮执行当前工作流。查看运行日志提示 “执行成功” 即代表数据表创建完成。进入数据库元数据管理页面检索behavior_events表核对表结构、字段名称与字段类型确认建表结果无误。三半结构化TXT日志转为结构化数据再次新建转换工作流命名为行为日志数据结构化转换进入编辑画布。左侧组件库搜索获取文件名组件拖拽至画布双击打开配置文件路径选择此前创建的互联网用户行为日志数据集文件夹读取规则设置读取目录下所有.txt格式文件勾选递归读取保存配置。拖拽Java 代码组件至画布使用连线将「获取文件名」组件输出端与「Java 代码」组件输入端相连。双击 Java 代码组件进入配置页面代码编辑区粘贴日志解析代码实现功能跳过日志头部两行无效内容、按照和[]分隔符拆分日志内容、提取用户 ID、会话 ID、进程名、URL、时间等核心数据输出字段设置依次添加session_id、user_id、process_name、access_url、operate_time等字段统一设置字段类型为字符串逐个核对字段名称。从组件库拖拽字段选择组件连接在 Java代码组件后方。双击组件剔除解析过程产生的临时字段、冗余字段仅保留业务所需有效字段保存配置。【截图占位字段选择组件筛选字段界面】拖拽表输出组件连接至字段选择组件末端。双击表输出组件进行配置数据库连接选择团队私有数据库目标表选择第一步创建的behavior_events表写入方式勾选裁剪表避免重复数据点击获取表字段手动完成流字段与数据库表字段的一一映射。【截图占位表输出组件配置与字段映射界面】整体检查工作流组件连线、参数配置无误后点击运行按钮执行整条数据转换流程。流程运行结束后查看执行日志确认无报错。进入数据表behavior_events抽样查看多条数据验证日志解析、字段提取效果。四进程使用用户规模统计分析新建转换工作流创建进程统计表再次拖拽执行一个 SQL 脚本组件编写 SQL 语句创建统计表program_stats包含process_name进程名称、user_count使用用户数两个字段运行工作流完成建表。新建转换工作流统计进程用户规模开始数据聚合统计第一步拖拽表输入组件配置读取behavior_events全表数据第二步串联字段选择组件仅保留user_id、process_name两个统计关键字段拖拽替换 NULL 值组件连接上一组件配置规则将process_name字段的空值统一替换为未知避免空值影响分组统计。依次添加排序字段组件、分组组件排序组件按照process_name进行升序排序分组组件以process_name为分组依据对user_id进行去重计数统计每个进程对应的独立用户数量别名设置为user_count。拖拽表输出组件将分组统计结果写入program_stats表完成数据落地运行整条工作流。进入平台 BI 可视化模块新建数据集并关联program_stats表选择水平条形图以进程名称为维度、用户数为指标生成可视化图表筛选出浏览器类进程作为后续核心分析对象。五创建浏览器专项分析数据表新建转换工作流创建浏览器使用时长统计表使用执行一个 SQL 脚本组件创建browser_coverage表用于存储各浏览器总使用时长、覆盖用户数等数据执行工作流完成建表。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 总使用时长秒) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT浏览器用户覆盖率与总时长;再新建转换工作流创建时段活跃度统计表同样使用 SQL 脚本组件创建browser_hourly表字段包含浏览器名称、小时时段、活跃用户数运行脚本完成数据表创建。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)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT浏览器按小时活跃用户数;六浏览器行为数据清洗与抽取新建转换工作流互联网用户行为日志数据清洗抽取拖拽表输入组件读取behavior_events全量结构化数据。配置字段选择组件剔除和浏览器分析无关的冗余字段保留浏览器名称、用户 ID、访问时间、使用时长等核心字段。先将后续的步骤的组件拖进来拖拽“排序记录”组件到画布中创建“过滤记录”组件到“排序记录”组件的连线连接线类型选择“True输出”再拖一个“空操作(什么也不做)”组件到画布中创建“过滤记录”组件到“空操作(什么也不做)”组件的连线连接线类型选择“False输出”配置以下过滤记录组件配置以下“排序记录”双击“分析查询”组件分组字段为“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”使用“字段选择”只保留user_id,process_name,session_start_time,url,duration_sec使用“过滤记录”组件过滤掉duration_sec 0的记录最后一条记录没有下一条时长无效忽略后续很多分析需要按天、按时段聚合比如每日使用时长、时段热力图。提前提取好日期和小时后续分组时直接使用避免重复解析。session_start_time的格式为yyyy-MM-dd HH:mm:ss通过剪切字符串组件可以直接获取yyyy-MM-dd拖拽字段选择组件到画布中创建剪切字符串组件到字符选择组件的连线连接线类型选择“主输出步骤”字段选择2组件的配置如下预览清洗后的数据检查数据格式、内容完整性完成前期数据预处理为后续多维度聚合、跨表关联分析做好准备。遇到的问题与解决方法经常出现组件执行一个sql文件的报错虽然知道原因是需要建立的表被建立了无法再次重复建立但是也不知道为啥这些表就自己生成了后面发现是一个组的成员做的进度不同应该是数据共享着的以及后面还出现没有数据显示的问题也是仔细回顾步骤之后好好的整理纠错发现了五、实验总结本次实验仅完成了基础的数据加工工作后续可结合用户基础信息表做跨表关联深挖用户画像、使用时段、行为偏好等内容进一步完善指标体系为用户流失预测模型提供高质量的数据支撑确实做到了一定程度的理解和吸收现在觉得这个平台的功能真是很不错
浏览器用户行为分析与流失预测 数据加工实验报告
一、实验目的熟悉浏览器用户行为半结构化日志数据的构成与特点掌握文本日志解析、字段拆分的实操方法。完成数据规整将零散原始 TXT 日志转化为标准结构化数据表解决半结构化数据无法直接分析的问题。实现多维度数据聚合、字段衍生与跨表关联搭建适配浏览器用户行为分析场景的指标体系。完成基础数据清洗与聚合加工产出浏览器覆盖率、时段活跃度等核心分析数据集为后续流失预测建模奠定数据基础。掌握 Uniplore助睿数智ETL 平台零代码数据处理全流程提升半结构化数据处理、数据调试与数据分析实践能力。二、实验环境实验平台助睿在线实验平台、Uniplore 一站式数据科学平台工具组件Uniplore ETL 数据集成组件、SQL 执行组件、BI 可视化组件实验数据互联网用户行为日志 TXT 文件、用户信息表demographic.csv访问地址https://community.uniplore.com/t/topic/80三、实验步骤说明文中【截图占位】处可直接插入对应操作界面截图。一实验前期准备与项目创建打开浏览器输入实验地址并登录 Uniplore 平台进入平台首页工作台。【截图占位平台登录成功后的首页界面】在工作台页面点击新建项目按钮在弹窗中填写项目名称互联网用户行为日志数据加工选择项目分类点击确定完成项目创建。【截图占位新建项目弹窗及项目创建完成列表】进入刚创建的项目主页点击左侧导航栏文件库在根目录位置右键选择新建文件夹命名为互联网用户行为日志数据集点击确认。【截图占位文件库新建文件夹操作界面】进入平台公共空间 - 数据资源目录找到本次实验配套的 20 份日志 TXT 文件全选文件后批量导出 / 移动至上一步新建的文件夹内等待文件上传完成。【截图占位数据资源目录及文件批量导入过程界面】回到项目文件库检查文件夹内文件完整性确认所有日志文件均已成功导入准备开始数据处理流程。二创建原始行为日志数据表在项目主页左侧新建转换工作流命名为创建原始行为日志数据表在左侧组件库搜索执行一个 SQL 脚本组件鼠标拖拽该组件至画布中央区域。双击画布中的 SQL 脚本组件打开配置面板数据库连接选择团队私有数据库脚本编辑区输入建表 SQL 语句创建behavior_events行为事件明细表定义会话 ID、用户 ID、进程名称、访问 URL、操作时间等字段及字段类型点击预览校验确认 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 用户行为事件明细表;配置完成后点击画布上方运行按钮执行当前工作流。查看运行日志提示 “执行成功” 即代表数据表创建完成。进入数据库元数据管理页面检索behavior_events表核对表结构、字段名称与字段类型确认建表结果无误。三半结构化TXT日志转为结构化数据再次新建转换工作流命名为行为日志数据结构化转换进入编辑画布。左侧组件库搜索获取文件名组件拖拽至画布双击打开配置文件路径选择此前创建的互联网用户行为日志数据集文件夹读取规则设置读取目录下所有.txt格式文件勾选递归读取保存配置。拖拽Java 代码组件至画布使用连线将「获取文件名」组件输出端与「Java 代码」组件输入端相连。双击 Java 代码组件进入配置页面代码编辑区粘贴日志解析代码实现功能跳过日志头部两行无效内容、按照和[]分隔符拆分日志内容、提取用户 ID、会话 ID、进程名、URL、时间等核心数据输出字段设置依次添加session_id、user_id、process_name、access_url、operate_time等字段统一设置字段类型为字符串逐个核对字段名称。从组件库拖拽字段选择组件连接在 Java代码组件后方。双击组件剔除解析过程产生的临时字段、冗余字段仅保留业务所需有效字段保存配置。【截图占位字段选择组件筛选字段界面】拖拽表输出组件连接至字段选择组件末端。双击表输出组件进行配置数据库连接选择团队私有数据库目标表选择第一步创建的behavior_events表写入方式勾选裁剪表避免重复数据点击获取表字段手动完成流字段与数据库表字段的一一映射。【截图占位表输出组件配置与字段映射界面】整体检查工作流组件连线、参数配置无误后点击运行按钮执行整条数据转换流程。流程运行结束后查看执行日志确认无报错。进入数据表behavior_events抽样查看多条数据验证日志解析、字段提取效果。四进程使用用户规模统计分析新建转换工作流创建进程统计表再次拖拽执行一个 SQL 脚本组件编写 SQL 语句创建统计表program_stats包含process_name进程名称、user_count使用用户数两个字段运行工作流完成建表。新建转换工作流统计进程用户规模开始数据聚合统计第一步拖拽表输入组件配置读取behavior_events全表数据第二步串联字段选择组件仅保留user_id、process_name两个统计关键字段拖拽替换 NULL 值组件连接上一组件配置规则将process_name字段的空值统一替换为未知避免空值影响分组统计。依次添加排序字段组件、分组组件排序组件按照process_name进行升序排序分组组件以process_name为分组依据对user_id进行去重计数统计每个进程对应的独立用户数量别名设置为user_count。拖拽表输出组件将分组统计结果写入program_stats表完成数据落地运行整条工作流。进入平台 BI 可视化模块新建数据集并关联program_stats表选择水平条形图以进程名称为维度、用户数为指标生成可视化图表筛选出浏览器类进程作为后续核心分析对象。五创建浏览器专项分析数据表新建转换工作流创建浏览器使用时长统计表使用执行一个 SQL 脚本组件创建browser_coverage表用于存储各浏览器总使用时长、覆盖用户数等数据执行工作流完成建表。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 总使用时长秒) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT浏览器用户覆盖率与总时长;再新建转换工作流创建时段活跃度统计表同样使用 SQL 脚本组件创建browser_hourly表字段包含浏览器名称、小时时段、活跃用户数运行脚本完成数据表创建。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)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT浏览器按小时活跃用户数;六浏览器行为数据清洗与抽取新建转换工作流互联网用户行为日志数据清洗抽取拖拽表输入组件读取behavior_events全量结构化数据。配置字段选择组件剔除和浏览器分析无关的冗余字段保留浏览器名称、用户 ID、访问时间、使用时长等核心字段。先将后续的步骤的组件拖进来拖拽“排序记录”组件到画布中创建“过滤记录”组件到“排序记录”组件的连线连接线类型选择“True输出”再拖一个“空操作(什么也不做)”组件到画布中创建“过滤记录”组件到“空操作(什么也不做)”组件的连线连接线类型选择“False输出”配置以下过滤记录组件配置以下“排序记录”双击“分析查询”组件分组字段为“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”使用“字段选择”只保留user_id,process_name,session_start_time,url,duration_sec使用“过滤记录”组件过滤掉duration_sec 0的记录最后一条记录没有下一条时长无效忽略后续很多分析需要按天、按时段聚合比如每日使用时长、时段热力图。提前提取好日期和小时后续分组时直接使用避免重复解析。session_start_time的格式为yyyy-MM-dd HH:mm:ss通过剪切字符串组件可以直接获取yyyy-MM-dd拖拽字段选择组件到画布中创建剪切字符串组件到字符选择组件的连线连接线类型选择“主输出步骤”字段选择2组件的配置如下预览清洗后的数据检查数据格式、内容完整性完成前期数据预处理为后续多维度聚合、跨表关联分析做好准备。遇到的问题与解决方法经常出现组件执行一个sql文件的报错虽然知道原因是需要建立的表被建立了无法再次重复建立但是也不知道为啥这些表就自己生成了后面发现是一个组的成员做的进度不同应该是数据共享着的以及后面还出现没有数据显示的问题也是仔细回顾步骤之后好好的整理纠错发现了五、实验总结本次实验仅完成了基础的数据加工工作后续可结合用户基础信息表做跨表关联深挖用户画像、使用时段、行为偏好等内容进一步完善指标体系为用户流失预测模型提供高质量的数据支撑确实做到了一定程度的理解和吸收现在觉得这个平台的功能真是很不错