开源大数据案例(第1章 通话记录数据分析)思路,操作,及执行ct-common

目录

思路

代码

1.创建通用基础模块

2.数据生产模块

3.上传至Linux生成数据

思路

操作

思路

代码

执行


  1. 通话记录数据分析
    1. 项目背景

通信运营商每时每刻会产生大量的通信数据,例如通话记录,短信记录,彩信记录,第三方服务资费等等繁多信息。数据量如此巨大,除了要满足用户的实时查询和展示之外,还需要定时定期的对已有数据进行离线的分析处理。例如,当日话单,月度话单,季度话单,年度话单,通话详情,通话记录等等+。我们以此为背景,寻找一个切入点,学习其中的方法论。当前我们的需求是:统计每天、每月以及每年的每个人的通话次数及时长。

    1. 项目架构

 

 

 

 

    1. 项目实现

系统环境:

表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

此情此景,对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,数据生产是一套完整且严密的体系,这样可以保证数据的鲁棒性。但是如果涉及到项目的一体化方案的设计(数据的产生、存储、分析、展示),则必须清楚每一个环节是如何处理的,包括其中每个环境可能隐藏的问题;数据结构,数据内容可能出现的问题。

        1. 数据结构

我们将在HBase中存储两个电话号码,以及通话建立的时间和通话持续时间,最后再加上一个flag作为判断第一个电话号码是否为主叫。姓名字段的存储我们可以放置于另外一张表做关联查询,当然也可以插入到当前表中。

表5

列名

解释

举例

call1

第一个手机号码

15369468720

call1_name

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

李雁

call2

第二个手机号码

19920860202

call2_name

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

卫艺

date_time

建立通话的时间

20171017081520

date_time_ts

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

duration

通话持续时间(秒)

0600

        1. 编写代码
思路

1.创建J

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值