大数据 电信客服项目

1.项目背景

  通信运营商每时每刻会产生大量的通信数据,例如通话记录,短信记录,彩信记录,

第三方服务资费等等繁多信息。数据量如此巨大,除了要满足用户的实时查询和展示之外,

还需要定时定期的对已有数据进行离线的分析处理。例如,当日话单,月度话单,季度话单,

年度话单,通话详情,通话记录等等+。我们以此为背景,寻找一个切入点,学习其中的方法论。

当前我们的需求是:统计每天、每月以及每年的每个人的通话次数及时长。

2.项目架构

3.项目实现

系统环境:

表1


系统


版本


windows


10 专业版


linux


CentOS 6.8

开发工具

2


工具


版本


idea


2017.2.5旗舰版


maven


3.3.9


JDK


1.8+

提示:idea2017.2.5必须使用maven3.3.9,不要使用maven3.5,有部分兼容性问题

集群环境:

表3


框架


版本


hadoop


2.7.2


zookeeper


3.4.10


hbase


1.3.1


flume


1.7.0


kafka


2.11-0.11.0.0

硬件环境:

4


hadoop102


hadoop103


hadoop104


内存


4G


2G


2G


CPU


2核


1核


1核


硬盘


50G


50G


50G

3.1 数据生产

  此情此景,对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,

数据生产是一套完整且严密的体系,这样可以保证数据的鲁棒性。但是如果涉及到

项目的一体化方案的设计(数据的产生、存储、分析、展示),则必须清楚每一个

环节是如何处理的,包括其中每个环境可能隐藏的问题;数据结构,数据内容可能出现的问题。

3.1.1 数据结构

  我们将在HBase中存储两个电话号码,以及通话建立的时间和通话持续时间,

最后再加上一个flag作为判断第一个电话号码是否为主叫。

姓名字段的存储我们可以放置于另外一张表做关联查询,当然也可以插入到当前表中。

表5


列名


解释


举例


call1


第一个手机号码


15369468720


call1_name


第一个手机号码人姓名(非必须)


李雁


call2


第二个手机号码


19920860202


call2_name


第二个手机号码人姓名(非必须)


卫艺


date_time


建立通话的时间


20171017081520


date_time_ts


建立通话的时间(时间戳形式)


duration


通话持续时间(秒)


0600

3.1.2 编写代码

思路:

a) 创建Java集合类存放模拟的电话号码和联系人;

b) 随机选取两个手机号码当作“主叫”与“被叫”(注意判断两个手机号不能重复),产出call1与call2字段数据;

c) 创建随机生成通话建立时间的方法,可指定随机范围,最后生成通话建立时间,产出date_time字段数据;

d) 随机一个通话时长,单位:秒,产出duration字段数据;

e)、将产出的一条数据拼接封装到一个字符串中;

f)、使用IO操作将产出的一条通话数据写入到本地文件中;

新建module项目:ct_producer  

原文地址:https://www.cnblogs.com/LXL616/p/11186443.html

时间: 2024-11-05 17:29:03

大数据 电信客服项目的相关文章

大数据开发实战系列之电信客服(1)

大数据实战开发系列,以实战为主,辅以一些基础知识,关于电信客服,在网上也有很多的资料,这里我自然会去参考网上的资料,程序的整体设计是在今天开始的,老夫尽量在本周末钱结束这个电信客服的程序编写.因为我也是一个学习者,所以在程序编写过程中难免会存在问题,有问题还请大家指出,有则改之,无则加勉.大家共同进步.本教程适合接触大数据开发不久或者还没接触大数据开发,或者小萌新.老鸟就多提意见吧,我改. 博客原文地址:大数据开发实战系列之电信客服(1) 项目背景 关于项目背景,我就照搬网上的了.通信运营商每时

大数据从基础到项目实战(一站式全链路最佳学习路径)

大数据从基础到项目实战(一站式全链路最佳学习路径)课程链接:https://pan.baidu.com/s/1HC9zqxwUFNBJHT9zP1dlvg 密码:xdgd 本课程为就业课程,以完整的实战项目为主线,项目各个环节既深入讲解理论知识,又结合项目业务进行实操,从而达到一站式学习,让你快速达到就业水平. 全真企业项目全流程演示: 大数据生产->采集->存储->处理->计算->分析(离线+实时)->抽取(离线+实时)->Java接口->可视化Web展示

Spark进阶 大数据离线与实时项目实战 完整版

第1章 课程介绍&学习指南本章会对这门课程进行说明并进行学习方法介绍. 第2章 Redis入门Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度.本章将从Redis特性.应用场景出发,到Redis的基础命令,再到Redis的常用数据类型实操,最后通过Java API来操作Redis,为后续实时处理项目打下坚实的基础... 第3章 HBase入门HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:

大数据技术之_18_大数据离线平台_01_项目开发流程+大数据常用应用/分析平台/业务处理方式+数据分析平台的数据来源+数据处理的流程+项目集群的规模+需求分析+技术架构/选型

一.项目开发流程1.1.项目调研1.2.项目需求分析1.3.方案设计1.3.1.概要设计1.3.2.详细设计1.4.编码实现1.4.1.单元测试1.4.2.集成测试1.4.3.压力测试1.4.4.用户测试二.大数据常用应用2.1.数据出售2.2.数据分析2.2.1.百度统计2.2.2.友盟2.2.3.其他统计分析组织2.3.搜索引擎2.3.1.solr2.3.2.luence2.3.3.luence & solr 对比2.4.推荐系统(高数)2.4.1.技术2.4.2.算法2.5.精准营销2.5

新闻网大数据实时分析可视化系统项目——10、数据采集/存储/分发完整流程测试

(一)idea工具开发数据生成模拟程序 1.在idea开发工具中构建weblogs项目,编写数据生成模拟程序. package main.java; import java.io.*; public class ReadWrite { static String readFileName; static String writeFileName; public static void main(String args[]){ readFileName = args[0]; writeFileNa

基于大数据的电影网站项目开发之阶段性总结(三)

一.基础讲解 1. 主机ping不同虚拟机 虚拟机要设置IP地址,ip段是vmware        编辑菜单-->虚拟网络编辑器  网段,       网关:192.168.XXX.2       IP地址,不要是.1/.2       把vmware装好以后,在"网络适配器"里,应该多出两个虚拟网卡 2. linux    使用linux里的一些命令        cd:切换目录        tar -zxvf ....tar.gz,对tar文件进行解压        su

新闻网大数据实时分析可视化系统项目——12、Hive与HBase集成进行数据分析

(一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的Hive. Cloudera版本的Hive. 这里选择下载Apache稳定版本apache-hive-0.13.1-bin.tar.gz,并上传至bigdata-pro03.kfk.com节点的/opt/softwares/目录下. 2.解压安装hive tar -zxf apache-hive-0.

新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发

1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File——>Open 然后找到flume源码解压文件,选中flume-ng-hbase-sink,点击ok加载相应模块的源码. 2.官方flume与hbase集成的参数介绍 3.下载日志数据并分析 到搜狗实验室下载用户查询日志 1)介绍 搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索

基于大数据的电影网站项目开发之HBase分布式安装(四)

1.hbase解压,通过xftp将hbase-1.0.1.1-bin.tar.gz上传到虚拟机中 通过tar -zxvf hbase-1.0.1.1-bin.tar.gz解压到soft目录下 2. 设置环境变量 HBASE_HOME=/home/meng/soft/hbase-1.0.1.1 export PATH=$PATH:$HBASE_HOME/bin 3.hbase-env.sh中有如下属性: export JAVA_HOME=/usr/java/jdk1.6 将其开启并修改环境变量ex