本发明专利技术涉及一种基于Hadoop的用户行为数据处理方法,所述方法包括:将用户历史数据源导入到分布式文件系统HDFS中;基于所述用户历史数据源生成用户的历史行为数据表;通过Flume收集用户的实时行为数据流;Kafka实时记录从所述Flume收集的数据;根据实时行为数据流的不同业务类型,运用实时计算框架Spark实时处理用户行为产生的实时数据,以生成用户的实时数据表;运用所述IMSI库中的IMSI号关联用户的实时数据表和历史行为数据表,得到用户的行为数据宽表;根据预设配置文件将所述用户的行为数据宽表输出并保存到HBase数据库中;将查询系统Impala与HBase数据库整合,以向外部提供用户行为数据的查询入口。本发明专利技术提供的技术方案,能够建立高效、精细化的用户行为数据业务体系。
【技术实现步骤摘要】
一种基于Hadoop的用户行为数据处理方法
本专利技术属于通信
,涉及一种基于Hadoop的用户行为数据处理方法。
技术介绍
随着4G网络的商用和广泛部署,移动通信业务已经正式全面进入移动互联网时代,飞速发展的移动网络带宽直接带来繁杂的应用和用户行为,而通信网络中的数据复杂度、信息量都随之迅速增长,导致数据处理的复杂度和运算量要求都随之有了更高的要求,传统数据库体系的数据处理能力受到了极大的挑战。而面对海量数据处理需求和更低的时延性限制要求,传统数据系统投入的CPU计算能力、内存响应和吞吐、网络带宽都有着巨大的基准,且在高安全性,多中心的发展趋势下面临诸多的瓶颈。大数据时代的到来使单节点的计算模式已经不能满足数据处理的需求,分布式数据处理与存储系统逐步成为大数据平台首选的架构,大数据技术成为了众相研究的热点。而Hadoop大数据平台主要基于静态数据文件的并行处理,虽然在海量数据吞吐、计算、存储方面有着极高的效率,但是实时性较差,属于高吞吐,高并发,高时延的架构,对于小文件的处理性能一直是其不可回避的问题,故针对一些实时性较高的数据处理和使用场景下无能为力。目前还没有一种用于互联网用户实时数据和历史(离线)数据整合处理的方法,特别是能够适应运营商大数据发展的精细化运营方法。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于Hadoop的用户行为数据处理方法,能够建立高效、精细化的用户行为数据业务体系。为达到上述目的,本专利技术提供如下技术方案:一种基于Hadoop的用户行为数据处理方法,所述方法包括:将用户历史数据源导入到分布式文件系统HDFS中,以通过所述HDFS提供数据访问接口;其中,所述用户历史数据源包括国际移动用户识别码IMSI库、国际移动设备身份码IMEI库以及爬虫库中的至少一种;基于所述用户历史数据源生成用户的历史行为数据表;通过数据采集工具Flume收集用户的实时行为数据流,所述实时行为数据流包括用户实时上网日志以及用户互联网行为实时解析数据;分布式订阅系统Kafka实时记录从所述Flume收集的数据,并作为消息缓冲组件为实时计算框架提供数据;根据实时行为数据流的不同业务类型,运用实时计算框架Spark实时处理用户行为产生的实时数据,以生成用户的实时数据表;运用所述IMSI库中的IMSI号关联用户的实时数据表和历史行为数据表,得到用户的行为数据宽表;根据预设配置文件将所述用户的行为数据宽表输出并保存到HBase数据库中;将查询系统Impala与HBase数据库整合,以向外部提供用户行为数据的查询入口。进一步地,基于所述用户历史数据源生成用户的历史行为数据表包括:通过所述IMSI库中的IMSI号关联所述用户的所有历史行为数据,并将所述用户的所有历史行为数据映射至数据仓库工具Hive中,以形成所述用户的历史行为数据表。进一步地,在分布式订阅系统Kafka实时记录从所述Flume收集的数据之后,所述方法还包括:判断待处理的数据是否已经缓冲到Kafka配置文件中;若是,将所述待处理的数据发送至所述实时计算框架Spark;若否,将所述到处理的数据反馈至所述分布式订阅系统Kafka。进一步地,所述IMSI库、IMEI库以及爬虫库通过Sqoop从关系型数据库导入到HDFS中。进一步地,所述用户的事实行为数据流中包括用户在移动终端的访问特性、搜索信息以及流量消耗对应的实时数据。进一步地,得到用户的行为数据宽表包括:基于不同的业务逻辑,运用Map/Reduce框架获得所有输入用户的实时数据表和历史行为数据表的输出值,以形成所述行为数据宽表;其中,一个IMSI号表征一个用户。进一步地,所述HBase数据库中表的结构包括IMSI号与业务编号的组合以及用于存放用户具体业务信息的列。本专利技术的有益效果在于:(1)本专利技术将用户的海量历史原始数据存储在HDFS上,为原始数据提供具备高容错、高吞吐、低成本的存储空间,支持以流的形式访问文件系统中的数据;通过数据采集工具Flume收集用户行为的实时数据,实时数据包括用户实时上网日志、用户互联网行为实时解析数据,Kafka实时记录从Flume收集的数据,并作为消息缓冲组件为上层实时计算框架提供可靠数据支撑,然后运用Spark内存计算框架实时处理用户行为产生的实时数据。通过IMSI号关联用户的实时数据和历史数据,得到统一的用户行为数据宽表,并存储在分布式数据库HBase中,为海量用户行为数据的存储提供了一个可行的解决方案,缓解了传统方法中单机存储客户数据的压力。(2)本专利技术基于Hadoop平台,将建立精细化用户行为体系任务分发到由低配置的计算机组成的集群环境中,运用Impala与HBase整合提供用户行为数据高效查询引擎,减少查询时间延迟,比原生的MapReduce以及Hive的执行速度快很多。(3)本专利技术所述的用户行为数据生成方法,相对于传统用户单一的数据而言,该方法建立了高效、精细化的用户行为数据业务体系,同时具备高扩展性,有效提升运营商精细化运营能力。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术提供的一种基于Hadoop的用户行为数据生成方法的流程图;图2为本专利技术中用户历史行为数据表的设计示意图;图3为本专利技术中用户实时行为数据的模型设计示意图;图4为本专利技术中用户行为数据宽表的设计示意图;图5为本专利技术中HBase存储结构图。具体实施方式下面将结合附图,对本专利技术的优选实施例进行详细的描述。请参阅图1,本申请实施方式提供一种基于Hadoop的用户行为数据处理方法,所述方法包括:将用户历史数据源导入到分布式文件系统HDFS中,以通过所述HDFS提供数据访问接口;其中,所述用户历史数据源包括国际移动用户识别码IMSI库、国际移动设备身份码IMEI库以及爬虫库中的至少一种;基于所述用户历史数据源生成用户的历史行为数据表;通过数据采集工具Flume收集用户的实时行为数据流,所述实时行为数据流包括用户实时上网日志以及用户互联网行为实时解析数据;分布式订阅系统Kafka实时记录从所述Flume收集的数据,并作为消息缓冲组件为实时计算框架提供数据;根据实时行为数据流的不同业务类型,运用实时计算框架Spark实时处理用户行为产生的实时数据,以生成用户的实时数据表;运用所述IMSI库中的IMSI号关联用户的实时数据表和历史行为数据表,得到用户的行为数据宽表;根据预设配置文件将所述用户的行为数据宽表输出并保存到HBase数据库中;将查询系统Impala与HBase数据库整合,以向外部提供用户行为数据的查询入口。在本实施方式中,基于所述用户历史数据源生成用户的历史行为数据表包括:通过所述IMSI库中的IMSI号关联所述用户的所有历史行为数据,并将所述用户的所有历史行为数据映射至数据仓库工具Hive中,以形成所述用户的历史行为数据表。在本实施方式中,在分布式订阅系统Kafka实时记录从所述Flume收集的数据之后,所述方法还包括:判断待处理的数据是否已经缓冲到Kafka配置文件中;若是,将所述待处理的数据发送至所述实时计算框架Spark;若否,将所述到处理的数据反馈至所述分布式订阅系统Kafka。在本实施方式中,所述IMSI库、IMEI库以本文档来自技高网...

【技术保护点】
一种基于Hadoop的用户行为数据处理方法,其特征在于,所述方法包括:将用户历史数据源导入到分布式文件系统HDFS中,以通过所述HDFS提供数据访问接口;其中,所述用户历史数据源包括国际移动用户识别码IMSI库、国际移动设备身份码IMEI库以及爬虫库中的至少一种;基于所述用户历史数据源生成用户的历史行为数据表;通过数据采集工具Flume收集用户的实时行为数据流,所述实时行为数据流包括用户实时上网日志以及用户互联网行为实时解析数据;分布式订阅系统Kafka实时记录从所述Flume收集的数据,并作为消息缓冲组件为实时计算框架提供数据;根据实时行为数据流的不同业务类型,运用实时计算框架Spark实时处理用户行为产生的实时数据,以生成用户的实时数据表;运用所述IMSI库中的IMSI号关联用户的实时数据表和历史行为数据表,得到用户的行为数据宽表;根据预设配置文件将所述用户的行为数据宽表输出并保存到HBase数据库中;将查询系统Impala与HBase数据库整合,以向外部提供用户行为数据的查询入口。
【技术特征摘要】
1.一种基于Hadoop的用户行为数据处理方法,其特征在于,所述方法包括:将用户历史数据源导入到分布式文件系统HDFS中,以通过所述HDFS提供数据访问接口;其中,所述用户历史数据源包括国际移动用户识别码IMSI库、国际移动设备身份码IMEI库以及爬虫库中的至少一种;基于所述用户历史数据源生成用户的历史行为数据表;通过数据采集工具Flume收集用户的实时行为数据流,所述实时行为数据流包括用户实时上网日志以及用户互联网行为实时解析数据;分布式订阅系统Kafka实时记录从所述Flume收集的数据,并作为消息缓冲组件为实时计算框架提供数据;根据实时行为数据流的不同业务类型,运用实时计算框架Spark实时处理用户行为产生的实时数据,以生成用户的实时数据表;运用所述IMSI库中的IMSI号关联用户的实时数据表和历史行为数据表,得到用户的行为数据宽表;根据预设配置文件将所述用户的行为数据宽表输出并保存到HBase数据库中;将查询系统Impala与HBase数据库整合,以向外部提供用户行为数据的查询入口。2.根据权利要求1所述的方法,其特征在于,基于所述用户历史数据源生成用户的历史行为数据表包括:通过所述IMSI库中的IMSI号关联所...
【专利技术属性】
技术研发人员:陈粤龙,陈敏俊,温亮生,张治中,赵瑞莉,
申请(专利权)人:重庆邮电大学,中移杭州信息技术有限公司,
类型:发明
国别省市:重庆,50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。