如何进行clickhouse数据模型的session分析
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,如何进行clickhouse数据模型的session分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是session,Sess
千家信息网最后更新 2025年12月04日如何进行clickhouse数据模型的session分析
如何进行clickhouse数据模型的session分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
什么是session,Session即会话,是指在指定的时间段内在您的网站/H5/小程序/APP上发生的一系列用户行为的集合。例如,一次会话可以包含多个页面浏览、交互事件等。
前言
Session 是具备时间属性的,根据不同的切割规则,可以生成不同长度的 Session; 可见,Session统计与上述智能路径检测的场景有相似之处,都需要寻找用户行为链的边界进行处理;session分析主要包含两部分:
session切割;例如,用户访问您的网站,打开了一个网页,有事离开了电脑。几个小时候回来后继续访问,用户的session访问次数应该算作几次? 又比如,用户在pc端添加了购物车,在手机端完成了支付,又应该算作几次。
session指标统计;session分析常见的分析指标有,session访问次数,访问深度、访问时长、跳出率等等。
模型
案例一
以30分钟为超时时间,按天统计所有用户的Session总数(跨天的Session也会被切割)
SELECT ts_date, sum(length(session_gaps)) AS session_cnt #计算会话次数FROM ( WITH arraySort(groupArray(toUnixTimestamp(time))) AS times, arrayDifference(times) AS times_diff #求解相邻事件的时间差 SELECT toDate(time) as ts_date, arrayFilter(x -> x > 1800, times_diff) AS session_gaps #设置切割点 FROM app.scene_tracker WHERE toDate(time) >= '2020-09-06' AND toDate(time) <= '2020-09-07' GROUP BY ts_date,user_id)GROUP BY ts_date
案例二
以30分钟或指定事件为【会员支付成功】做为切割点,统计每天session平均访问深度(相邻相同事件只计算一次)
SELECT ts_date, count(1) session_cnt, sum(length(event_chain)) AS event_cnt, round(event_cnt/session_cnt)FROM ( WITH arraySort(groupArray(( toUnixTimestamp(time), act ))) AS sorted_events, arrayEnumerate(sorted_events) AS event_idxs, arrayFilter( (x,y,z) -> y>1800 or z.2='会员支付成功', event_idxs, arrayDifference(sorted_events.1), sorted_events ) as gap_index , arrayMap(x->x+1, gap_index) as gap_index_ , arrayMap(x -> if(has(gap_index_, x), 1, 0), event_idxs) as gap_marks , arraySplit((x,y) -> y, sorted_events, gap_marks) as session_chain SELECT toDate(time) as ts_date, u_i as user_id, arrayJoin(session_chain) event_chain_, arrayCompact(x->x.2, event_chain_) event_chain FROM app.scene_tracker WHERE toDate(time) >= '2020-09-06' AND toDate(time) <= '2020-09-07' GROUP BY ts_date,user_id)GROUP BY ts_date
关于如何进行clickhouse数据模型的session分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
分析
用户
事件
时间
统计
模型
次数
问题
支付
数据
不同
成功
会员
指标
更多
案例
深度
网站
行为
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
用ACC数据库对比两表数据
2u服务器 diy
数据库查询只有一个A的数据
服务器的渲染时间多长
哪个部门负责统筹网络安全
人民大学数据库专硕
维普包含多少个数据库
剑与远征账号找回以前服务器
在裸机服务器安装linux
六安方正网络技术有限公司
数据库技术发展的趋势
web项目数据库乱码
访问数据库会出错的问题吗
郑州高技术人才数据库
php软件开发用什么软件
关于网络安全心得体会格式范文
怎么进入ftp服务器地址打不开
网络安全知识包括哪几方面
软件开发工具有哪些知乎
网络安全哪几方面
阿里巴巴服务器管理员工资
如何找到数据库位置
全省网络安全问题
如何修改数据库字段
健康码 服务器内部错误500
武大国家网络安全学院2019
方舟服务器有没有地牢
不是网络安全红线管理内容
部队网络安全图片展新闻稿
db2数据库字符串分割