仅需一台内存≥8G的Windows/Mac/Linux电脑即可完成搭建,本地就能运行,所有步骤零门槛,无需额外购买服务器。
直接从Python官网下载对应系统的安装包:https://www.python.org/downloads/,安装时必须勾选「Add Python to PATH」选项,安装完成后打开命令行,输入python --version能输出版本号即安装成功。
在命令行直接执行以下完整命令,所有依赖会自动安装:
``` pip install flask clickhouse-connect python-dotenv ```不同系统直接执行对应命令即可一键安装:
brew install clickhouse安装完成后,命令行输入clickhouse-client能进入交互界面即成功,默认端口8123,用户名default,默认无密码。
先安装Docker桌面版:https://www.docker.com/products/docker-desktop/,安装完成后执行以下命令一键启动Metabase:
``` docker run -d -p 3000:3000 --name metabase metabase/metabase ```启动完成后浏览器打开http://localhost:3000即可进入Metabase后台。
在本地新建一个空文件夹,新建两个文件:app.py(采集服务入口)、init.sql(建表文件)。将以下内容完整复制到init.sql:
命令行进入clickhouse-client,执行source 你的文件完整路径/init.sql,完成数据表创建。

将以下完整代码复制到app.py,无需修改任何配置即可直接运行:
启动采集服务,命令行执行python app.py,接口即可正常接收埋点数据。
打开Metabase后台(http://localhost:3000),完成基础管理员账号设置后,选择「添加数据库」,数据库类型选择ClickHouse,连接信息填写:
点击Metabase的「新建查询」,选择ClickHouse数据源,以下是直播分析最核心的4个指标,可直接复制SQL,分别保存为独立查询:
1. 实时在线人数(统计最近15分钟活跃用户) ``` SELECT COUNT(DISTINCT user_id) AS 实时在线人数 FROM live_stream_events WHERE event_time >= now() - INTERVAL '15' MINUTE ```
2. 今日总观看人次 ``` SELECT COUNT(DISTINCT user_id) AS 今日观看人次 FROM live_stream_events WHERE event_time >= today() AND event_type = 'enter' ```
3. 今日总互动数 ``` SELECT COUNT() AS 今日总互动数 FROM live_stream_events WHERE event_type IN ('like', 'comment', 'gift') AND event_time >= today() ```
4. 各直播间今日人气排名 ``` SELECT room_id, COUNT(DISTINCT user_id) AS 观看人次 FROM live_stream_events WHERE event_time >= today() AND event_type = 'enter' GROUP BY room_id ORDER BY 观看人次 DESC ```
点击Metabase「新建仪表盘」,命名为「大数据直播实时分析看板」,将刚才保存的4个查询依次添加到看板中,调整布局后,设置看板自动刷新间隔为10秒,即可实现直播数据实时更新。
新建一个本地html测试页面,添加以下埋点代码模拟用户行为: ``` ``` 打开页面触发埋点后,回到分析看板就能看到数据实时更新,整个系统搭建完成。需要对接真实直播业务,只需要将上述埋点代码替换到项目前端,根据业务需求新增事件类型和分析指标即可。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图