一、项目介绍
-
项目概述
本项目构建了一个完整的电信用户行为离线数据分析平台,实现了从数据采集、存储、处理到可视化展示的全流程解决方案。系统通过Flume采集日志和业务数据,基于HDFS构建数据仓库,使用DataX进行数据同步,最终通过QuickBI实现多维度数据可视化分析,为电信运营商提供用户行为洞察和业务决策支持。
-
项目价值
- 为相关统计部门提供数据支持, 比如上网的用户时长, 上网的用户人数, 上网模式的占比等等
- 为行业发展的预测提供数据支撑
- 为企业发展提供数据支撑, 分析每个网站的访问情况
-
项目效果
-
学习收获
- Hadoop基本环境搭建以及基本配置,HDSF分布式存储环境搭建,Yarn分布式任务调度
- MySQL数据库的安装和应用
- SpringBoot项目的日志生成生成程序的流程分析
- Flume日志采集到HDFS,并且完成shell脚本的编写
- Hive-on-Spark环境搭建
- Hive的基本操作, 外部表、分区表的创建,表数据的导入
- 数据仓库分层架构 ODS->DWD->DWS->ADS
- DataX技术从ADS同步数据到MySQL数据库
- QuickBI完成数据可视化处理
二、项目规划
-
集群规划
工具:四台虚拟机(centos)、Termius(虚拟机连接)
-
项目流程
-
项目架构
-
数据采集层:Flume采集系统日志和业务数据
数据存储层:HDFS分布式文件系统存储原始数据
-
数据处理层:Hive数据仓库进行ETL处理
-
数据服务层:MySQL关系型数据库存储结果数据
-
数据应用层:QuickBI进行可视化分析和报表展示
-
三、技术实现
-
数据采集模块
- 使用Flume搭建高可用采集集群
- 配置多级Channel确保数据传输可靠性
- 实现日志文件(Call Detail Records)和业务数据库的增量采集
- 自定义拦截器进行数据初步过滤和格式化
-
数据仓库设计
- ODS层:存储原始数据,保持数据原貌
- DIM层:存储维度模型的维度表
- DWD层:进行数据清洗、转换和规范化
- DWS层:构建用户主题宽表和行为聚合表
-
ADS层:生成面向分析的应用数据
-
数据处理流程
- 使用HQL实现维度建模和事实表构建
- 开发定时调度脚本处理日级/小时级数据
- 实现用户标签体系计算(RFM模型等)
- 构建关键指标:ARPU、MOU、DOU、离网率等
-
数据同步方案
- 采用DataX实现Hive到MySQL的高效同步
- 配置增量同步策略减少数据传输量
- 实现异常处理和数据一致性校验机制
-
可视化展示
- 基于QuickBI构建多维度分析仪表盘
- 实现用户画像可视化
- 开发业务KPI监控看板
- 构建自助分析模块支持灵活查询