浏览器市场与用户画像全景数据分析大屏实验


浏览器市场与用户画像全景数据分析大屏实验

一、实验目的

熟练使用 Uniplore 助睿 ET 完成浏览器多维度统计数据表开发,掌握多表统计、日期处理、分组聚合、字段换算、JS 条件分级等 ETL 常用操作。

掌握 Max 可视化大屏搭建:页面布局、背景 / 标题 / 按钮素材配置、各类图表(柱状 / 折线 / 饼 / 指标卡片)拖拽排版。

学会蓝图编辑器配置数据源、SQL 语句、数据映射,实现大屏图表与数据库绑定,完成数据可视化落地。

打通ETL 加工数据表→Max 大屏可视化全链路,理解数据仓库分层与前端展示完整业务流程。

二、实验环境

实训平台:助 Uniplore 大数据实训平台(lab.guilian.cn)工具:ETL 数据集成、Max 大屏设计、蓝图数据配置数据源:原始浏览器行为日志、demographic 用户属性 csv 文件数据库:团队私有 MySQL 库数据构成:用户行为明细 + 用户画像信息,用来生成 8 张业务统计表。

三、实验原理

①ETL 原理:抽取原始日志→清洗转换(进程名映射浏览器、时长秒转小时、日期判定工作日 / 周、用户分级)→聚合汇总入库多张统计表。

大屏原理:先静态排版布局(只摆图表、配图,无数据),再通过蓝图绑定团队数据库、编写 SQL 查询各统计表,字段映射到对应图表,实现数据自动加载展示。

四、实验步骤

第一部分:ETL 批量生成各业务统计表

步骤 1:创建基础明细表 daily_browser_detail

①新建转换流【创建用户_日_浏览器_小时明细表】,拖入执行 SQL 脚本组件,执行建表 SQL,在团队私有库生成明细表结构(对应创建表 SQL 截图)。

②复制上一轮行为日志清洗转换流,重命名【输出用户日浏览器小时明细表】。

③修改排序组件:排序字段改为 user_id、usage_date、process_name、hour(配套排序截图),保证分组无重复数据。

④添加值映射组件:exe 进程名转换浏览器中文名

iexplore.exe→IE、360chrome.exe→360 极速、360se→36se、chrome→Google、sogou→搜狗、QQBrowser→QQ 浏览器(值映射配置截图)。

⑤过滤无用办公进程(excel/word 等),分组聚合:active_count 统计次数、total_duration_sec 汇总秒数。

⑥接入表输出组件,勾选裁剪表,字段一一映射写入 daily_browser_detail,运行转换入库。

调整了一下位置

步骤 2:批量创建所有目标业务数据表

新建转换流【创建浏览器大屏分析目标数据表】,使用执行 SQL 组件,一次性 DROP+CREATE 全部 8 张目标表:browser_overview、browser_weekly_active、browser_frequency_stats、browser_multi_usage、browser_weekday_weekend、browser_coverage、browser_hourly、user_profile_stats,执行建表脚本(建表 SQL 截图)。

步骤 3:逐个开发统计 ETL 转换流

①各浏览器周活跃趋势(browser_weekly_active)

表输入读取 daily_browser_detail;

字段选择格式化 usage_date 为标准日期;

值映射:日期→对应周区间(5/7-5/13 等)生成 week_range;

排序:browser_name、week_range;

分组:按浏览器 + 周,user_id 去重计数 active_user_count;

表输出写入 browser_weekly_active,运行成功(日志截图:读取 22427 行,输出 12 条)。

②使用频率分布表(browser_frequency_stats)

表输入读取明细;

分组 user_id+browser_name,SUM (total_duration_sec) 得到总秒;

增加常量 3600,计算器 A/B:总秒 ÷3600=total_h(小时);

JS 脚本分级:<3 = 轻度、3~10 = 中度、>10 = 重度,生成 usage_level;

再按浏览器 + 等级分组统计用户数,入库 browser_frequency_stats。

③用户使用浏览器数量(browser_multi_usage)

表输入→分组 user_id,distinct 统计浏览器种类 browser_cnt;

JS:1=1 种、2=2 种、≥3=3 种及以上;

分组统计各类人数,入库。

④工作日 & 周末对比(browser_weekday_weekend)

JS 获取日期星期,1~5 工作日、0/6 周末,生成 day_type;

分组:浏览器 + 日期类型,avg (秒)、sum (秒)、去重用户;

常量 3600,总秒 / 3600 = 总小时,入库。

⑤核心指标 browser_overview

SQL 一次性算出总时长、人均时长、活跃占比、重度占比;行转列字段变行,值映射中文名称,写入指标表。

⑥用户画像 user_profile_stats

公共空间导出 demographic.csv 到项目文件库,CSV 输入读取用户属性;

常量 2012,计算器 2012 – 出生年 = 年龄;JS 划分年龄段 <18/18-25/26-35/>35;

明细左连接用户表(user_id 关联 USERID);

多字段分组(浏览器 + 性别 + 年龄 + 学历 + 职业 + 收入 + 省份 + 城乡)统计用户数,入库 user_profile_stats。

第二部分:Max 大屏静态页面搭建

①新建空白大屏,命名【2012 年浏览器全景分析】,设置全局背景图片。

②顶部:插入 banner 大图、两个导航按钮【市场分析】【用户画像】(按钮配图 标题文字配置)。

③布局分区:

顶部:个数字翻牌器(总时长、人均、活跃占比、重度占比);

左上:浏览器用户数柱状图;右上:使用时长饼图;

左中:人均使用时长柱状;右中:工作日周末分组柱;

中下:周活跃折线、24 小时时段折线、使用频率堆叠柱;

右下:浏览器数量饼图。

④所有图表统一标题底板、配色,完成纯静态排版(全套画布布局截图)。

第三部分:蓝图编辑器配置数据源与数据绑定

①新建数据源:绑定团队私有 MySQL,测试连接成功(数据源配置截图)。

②全选画布所有图表,右键【导出到蓝图编辑器】。

③暗蓝图配置规则:页面初始化触发 SQL,分模块编写查询 SQL

指标卡:SELECT metric_name,metric_value FROM browser_overview,拆分 个取值;

用户时长:查询 browser_coverage,拆分柱状、饼两套数据;

周折线:browser_weekly_active24 小时:browser_hour

工作日柱:browser_weekday_weekend

频率柱:browser_frequency_stats;数量饼:browser_multi_usage

④每个 SQL 结果通过数据处理拆分字段(x/y/ 分类),连线对应组件。

⑤预览大屏,所有图表自动加载数据库真实数据,最终发布大屏生成分享链接。

五、实验结果
①ETL 侧:成功创建 9 张数据表,各表聚合数据逻辑正确,时长换算、用户分级、工作日分类全部无误,数据可被大屏读取。
②大屏侧:页面布局完整美观,所有指标卡片、柱状、折线、饼图均可正常展示统计数据,各浏览器用户、时长、时段、用户分层数据和 ETL 计算结果一致。
③实现需求:完成浏览器市场 + 用户画像全套数据加工与可视化,满足大屏所有统计展示需求。
六、实验问题与解决
①问题:秒转小时计算器找不到 total_h 字段(字段未生成报错)
解决:拆分两个计算器,先算出total_h 再乘 3600,同一步不能使用刚生成字段。
②日期无法加减报错
解决:不用A+B 直接运算,改用 JS 获取星期 / 值映射周区间,平台日期专用函数处理。
③大屏预览空白:蓝图 SQL 字段名写错
解决:核对数据表字段,修正SQL 列名,重新映射 x/y 字段。
④CSV 用户表读取乱码:编码错误
解决:CSV 输入勾选 UTF-8 编码,正常读取性别年龄数据。
七、实验总结
本次实验完整走完原始数据ET 清洗→多维度聚合统计→数据表入库→大屏静态设计→蓝图 SQL 数据对接全链路,熟练掌握 Hop 各类计算器、JS、分组、关联组件用法,理解秒与小时换算、日期拆分、用户分层业务逻辑。同时学会 BI 大屏布局与蓝图数据配置思路,理解数据从底层加工到前端可视化全流程,巩固大数据 ETL 与可视化实操能力。