目录
[++++一、 项目概述++++](#一、 项目概述)
[++++1.1++++ ++++项目概述++++](#1.1 项目概述)
[++++1.2 项目框架++++](#1.2 项目框架)
[++++1.3 项目环境++++](#1.3 项目环境)
[++++1.4 项目需求++++](#1.4 项目需求)
- 项目概述
1.1、项目内容
本项目为基于Hadoop平台的电信客服数据的处理与分析 ,通过做项目的途径,对本学期所学的知识点进行总结和应用,有利于更好地掌握和使用数据处理系统。本项目有利于对通话信息进行总结和评估,可以清晰地体现出某个时间段的电信记录,对通讯服务进行反馈,具有极高的参考价值。通过本次项目,可以直观反映不同用户的电话使用时长,反映用户的性格,刻画用户画像,体现电信产业的当下状态。利用Hadoop对大量数据进行分析和处理,得到精简出的有益消息,有助于发现问题,对电信推广方法进行优化,考察不同用户的数据,贴近用户本身。反馈出产品的受欢迎程度。通过项目实践的方式,复习并利用所学到的知识点,温故而知新。场景为电信客服数据分析,包含用户信息,接通时间和接入呼出信息。搭建Hadoop全分布式集群,安装Hbase和hive,kafka,搭建flume大数据开发环境,进行数据的采集和分析。通过数据分析的结果,可以更加合理地分配推广资源,解决日常通话方面出现的问题,极大推动了电信行业的进步,化繁琐冗余为简练,在课程评估方面发挥出重要作用。
1.2、项目框架
开发工具:VMware16、idea、Centos
技术架构:Hadoop、Hive、Hbase、Zookeeper、flume
1.3、项目需求
个人在实践周单独完成实现以下3个场景:
(1)统计用户每日主叫的通话数量和时间。
(2)统计用户每月的通话记录和时间。
(3)通过用户之间的通话次数和时间,分析亲密关系。
二、项目调试与运行
2.1需求分析
不同用户通话数据,是对于该用户生活状态一项重要反馈,可以反映出用户的社交属性有很好的借鉴作用,对改良电信服务和改善用户体验发挥极大作用。通过对电信数据分析,可以明确通讯效果、用户喜爱程度、通讯受欢迎程度等信息,直观的表现发展成果。体现近期结果好坏程度,对导用户形象刻画进行评估。从而对未来此行业的发展方向进行更好的规划,精良方法,合理分配利用资源,使得变得更加专业,用户体验也同时得到提升。通过分析结果提出合理建议,对于电信行业发展和更上一层楼发挥极大作用。
2.2具体实现
一、搭建基于Hadoop的全分布式集群
- 准备网络环境
初始化网络分配方案,修改网卡信息和主机名称等。

使用ping命令去验证

- 配置ssh免密连接
为各个节点配置ssh,形成秘钥对,分发至各个节点从而实现免密联通。
- 安装并配置JDK

- Zookeeper集群安装
在slave1、slave2、slave3三个节点上进行安装,分别启动并验证可用性。
- Hadoop的安装和配置

- 启动Hadoop并测试
- Hive和Hbase的安装和配置



- 搭建kafla大数据运算环境
- 安装Java
- 安装zookeeper
- 安装kafla

- 搭建flume大数据开发环境
- flume环境准备
- Flume安装部署


四、项目实现
(1)数据生产
数据结构

代码运行







打包测试


- 数据的采集、消费、处理
- 启动Zookeeper和Kafka集群;

- 创建Kafka主题;

- 配置Flume,监控日志文件或目录;

- 启动Flume收集数据发送到Kafka;

- 运行在"生产数据"小节中创建的日志生产脚本;

6.启动Kafka控制台消费者,用于测试对Kafka数据的消费;
7.编写Kafka的消费者代码,将Kafka中的数据存储到HBase中涉及的类:1))HBaseConsumer消费Kafka中的数据存储到HBase2)PropertiesUtil提取项目所需参数的辅助类3)HBaseUtil封装HBase的DDL操作
4)HBaseDAO执行HBase具体执行DDL操作
(3)数据分析
1、mysql建立库和表









- 编写代码
- 项目展示

(4)数据展示
(5)成果展示










三、项目总结
实现大规模数据的分布式存储与处理,应对电信客服庞大的数据量。
通过数据清洗、预处理等步骤,提高数据质量,减少分析时的噪音。
利用Hadoop生态系统中的工具,如MapReduce、Hive等,实现数据的分析和挖掘。
通过对客服数据的深度分析,发现潜在问题,提供改进建议,优化客户服务流程。
技术架构与工具选择:
Hadoop平台: 作为底层基础架构,用于存储和处理分布式数据。
MapReduce: 用于分布式数据处理,实现并行计算。
Hive: 用于数据仓库和查询,提供SQL风格的查询语言,简化数据分析过程。
HBase: 用于实时读写大规模数据集。
Apache Spark: 用于快速大规模数据处理。
Flume: 用于数据采集与日志聚合。
实施步骤:
数据采集与清洗: 利用Flume收集电信客服数据,进行清洗和格式化,确保数据的一致性和准确性。
数据存储: 将清洗后的数据存储在Hadoop分布式文件系统(HDFS)中,确保数据的安全性和可靠性。
数据预处理: 利用MapReduce等工具进行数据的初步处理,如去重、缺失值填充等。
数据分析与挖掘: 使用Hive进行数据仓库建设,编写SQL查询语句,对数据进行深度分析,发现潜在问题。