《基于HADOOP平台的电信运营商海量数据处理方法.pdf》由会员分享,可在线阅读,更多相关《基于HADOOP平台的电信运营商海量数据处理方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103425762 A(43)申请公布日 2013.12.04CN103425762A*CN103425762A*(21)申请号 201310336147.3(22)申请日 2013.08.05G06F 17/30(2006.01)G06F 9/44(2006.01)(71)申请人南京邮电大学地址 210003 江苏省南京市新模范马路66号(72)发明人沈建华 王翔(74)专利代理机构江苏爱信律师事务所 32241代理人刘琦(54) 发明名称基于Hadoop平台的电信运营商海量数据处理方法(57) 摘要本发明公开了一种基于Hadoop平台的电信运营商海量数据处理方法,。
2、包括以下步骤:首先使用Sqoop工具将原始数据系统数据抽取到Hadoop本地服务器上;然后在Hive中建表并根据运营商数据仓库的数据模型和业务需求编写Hive脚本;接着执行Hive脚本将源数据转换后装载到Hive的目标表中;最后根据需求编写Hive查询语句或者MapReduce程序对目标表中的数据进行查询分析。本方法在满足业务需求的基础上充分利用Hadoop平台中的各种工具实现电信运营商海量数据处理,极大的提高了工作效率。(51)Int.Cl.权利要求书1页 说明书3页 附图1页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书3页 附图1页(10)申请公布号 CN。
3、 103425762 ACN 103425762 A1/1页21.一种基于Hadoop平台的电信运营商海量数据处理方法,其特征在于,该方法包括以下步骤:1)通过Hadoop平台的数据传输工具Sqoop,将原始数据系统中的数据抽取到Hadoop集群本地服务器上;2)在Hive数据仓库中建表,根据需求不同将表分为临时层、细节层、中间层和应用层,然后把抽取到Hadoop集群本地服务器上的数据导入到Hive数据仓库中对应的源表里;所述临时层用于存储临时数据,用完即删,所述细节层用于存放日表或者列数较少的表,所述中间层用于存放月表和列数较全的表,所述应用层用于存放应用报表;3)针对业务需求和数据模型撰写。
4、设计文档,描述源表和目标表之间的字段对应关系,以及ETL逻辑,然后按照设计文档开发Hive语句并封装成Hive脚本,在所述Hive脚本中添加日志信息以便于后期维护管理;4)执行Hive脚本,从Hive源表中抽取数据,然后按照源表和目标表之间的字段对应关系,以及ETL逻辑,将抽取的源表数据转换成目标表数据,并将所述目标表数据装载到目标表中,上述执行过程中,对Hive脚本执行情况进行监控,如果报错,则查询日志信息并定位错误,修改Hive脚本后重新执行;5)根据具体业务需求,在Hive客户端中,对所述步骤4)中装载后的目标表数据进行简单查询或数据挖掘分析。2.根据权利要求1所述的基于Hadoop平台。
5、的电信运营商海量数据处理方法,其特征在于,所述步骤5)中,简单查询按照在Hive的客户端上编写的Hive查询语句进行,数据挖掘分析按照在Hadoop中编写MapReduce程序进行。3.根据权利要求2所述的基于Hadoop平台的电信运营商海量数据处理方法,其特征在于,所述MapReduce函数按照协同过滤算法、PageRank矩阵分块算法、关联分析算法或聚类分析算法编写。权 利 要 求 书CN 103425762 A1/3页3基于 Hadoop 平台的电信运营商海量数据处理方法0001 技术领域0002 本发明提出一种基于Hadoop平台的电信运营商海量数据处理方法,属于计算机通信、大数据处理。
6、领域。0003 背景技术0004 移动互联网的快速发展,使得用户产生和应用的数据呈现飞速增长的趋势,海量数据的出现和数据结构的改变,给电信行业运营商管理和分析处理数据带来了巨大的挑战。传统的基于关系型数据库的处理方法已经无法有效地存储和处理日益增长和新型的业务数据,Hadoop 分布式技术的发展为解决上述问题提供了技术手段。0005 Hadoop是Apache组织管理的一个开源项目,是基于Google云计算理论Big Table、MapReduce和GFS的软件实现。Hadoop可以使用户在不了解底层细节的情况下开发MapReduce程序,并在价格低廉的商用集群上进行运算和存储,具有可扩展、高。
7、容错、经济、可靠、高效等优点。Hadoop的核心组件有两个部分:分布式文件系统(HDFS)和分布式计算模型MapReduce。HDFS是Hadoop的旗舰级文件系统,它以流式数据访问模式来存储超大文件,运行于商用硬件集群上;MapReduce是一个编程模型,用以进行稳定、高效、超大数据量的分析计算。0006 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。0007 Sqoop是在关系型数据库和HDFS间高效传输数据的工具,可以将一个关系型数据库中的数据导入到Hadoop的H。
8、DFS中,也可以将HDFS的数据导进关系型数据库中。0008 发明内容0009 技术问题:本发明提出了一种可以解决海量数据给电信运营商带来的处理压力,能够进行高效智能分析和数据挖掘的基于Hadoop平台的电信运营商海量数据处理方法。0010 技术方案:本发明的基于Hadoop平台的电信运营商海量数据处理方法,包括如下步骤:1)通过Hadoop平台的数据传输工具Sqoop,将原始数据系统中的数据抽取到Hadoop集群本地服务器上;2)在Hive数据仓库中建表,根据需求不同将表分为临时层、细节层、中间层和应用层,然后把抽取到Hadoop集群本地服务器上的数据导入到Hive数据仓库中对应的源表里;所。
9、述临时层用于存储临时数据,用完即删,所述细节层用于存放日表或者列数较少的表,所述中间层用于存放月表和列数较全的表,所述应用层用于存放应用报表;说 明 书CN 103425762 A2/3页43)针对业务需求和数据模型撰写设计文档,描述源表和目标表之间的字段对应关系,以及ETL逻辑,然后按照设计文档开发Hive语句并封装成Hive脚本,在所述Hive脚本中添加日志信息以便于后期维护管理;4)执行Hive脚本,从Hive源表中抽取数据,然后按照源表和目标表之间的字段对应关系,以及ETL逻辑,将抽取的源表数据转换成目标表数据,并将所述目标表数据装载到目标表中,上述执行过程中,对Hive脚本执行情况进。
10、行监控,如果报错,则查询日志信息并定位错误,修改Hive脚本后重新执行;5)根据具体业务需求,在Hive客户端中,对所述步骤4)中装载后的目标表数据进行简单查询或数据挖掘分析。0011 本发明一个优选方案的步骤5)中,简单查询按照在Hive的客户端上编写的Hive查询语句进行,数据挖掘分析按照在Hadoop中编写MapReduce程序进行。0012 上述优选方案中, MapReduce函数可以是按照协同过滤算法、PageRank矩阵分块算法、关联分析算法或聚类分析算法编写。0013 有益效果:本发明与现有技术相比,具有以下优点: 1)对于PB级并且多样化结构的数据,本发明中提出了一种基于Had。
11、oop平台的数据处理方法,将电信运营商海量数据的特点和Hadoop平台的优势充分结合起来,极大的提高了数据处理的效率,大大减少查询分析的时间。0014 2)在商业智能要求越来越高的情况下,本发明采用Hive作为数据仓库存储海量用户数据,不仅可以编写简单的Hive查询语句查询结果,还可以编写MapReduce程序对数据进行数据挖掘分析,便于电信运营商开展针对性营销,提高数据利用率。0015 附图说明0016 图1为本发明方法的流程图。0017 具体实施方式0018 下面结合附图和实施例对发明的技术方案进行详细说明:1)通过数据传输工具从原始数据系统中抽取数据到Hadoop集群的本地服务器上。00。
12、19 2)在Hive数据仓库中建表,然后把抽取到Hadoop集群本地服务器上的数据导入到Hive数据仓库中对应的源表里,具体步骤如下:2.1:根据业务要求在Hive数据仓库中创建源表、目标表并按照表的属性(表名,表字段,序列化结构,表中需要存储的数据)将表划分为临时层、细节层、中间层和应用层,其中临时层用于存储临时数据,用完即删,细节层为日表或者列数较少的表,中间层用于存放月表和列数较全的表,应用层用于存放应用报表。0020 2.2:将抽取到本地的数据通过Hive客户端装载到步骤2.1中所建的与之对应的源表里。0021 3)撰写设计文档,然后按照设计文档开发Hive语句并封装成Hive脚本,具。
13、体步骤如下:说 明 书CN 103425762 A3/3页53.1:针对业务需求和数据模型撰写设计文档,文档中包含源表信息、目标表信息、源表和目标表之间字段的对应关系及ETL逻辑。0022 3.2:按照设计文档的内容开发Hive语句。0023 3.3:封装Hive脚本,脚本分为四部分,第一部分为脚本信息,包括脚本编号,脚本名称,业务名称,开发人员,开发时间;第二部分为步骤3.2中开发的Hive语句;第三部分为脚本执行日志信息,包括脚本中每一个步骤的执行时间,成功或者失败信息,报错机制。0024 4)执行Hive脚本,并对执行过程进行监控,如果报错,则查询日志信息并定位错误,修改Hive脚本后重。
14、新执行脚本,具体步骤如下:4.1:在Hive客户端中执行步骤3中封装好的Hive脚本,按照源表和目标表之间的字段对应关系,以及ETL逻辑,将抽取的源表数据转换成目标表数据并将目标表数据装载到目标表里。0025 4.2:在脚本执行过程中通过检查日志信息进行监控,当执行报错时,查询日志信息并定位错误,修改脚本后重新执行。0026 5)根据具体业务需求,在Hive客户端中,对所述步骤4中装载后的目标表数据进行简单查询或数据挖掘分析,具体步骤如下:5.1:在Hive客户端中执行简单的Hive查询语句,对目标表数据进行简单查询。0027 5.2:在Hadoop中根据协同过滤算法、PageRank矩阵分块。
15、算法、关联分析算法或聚类分析算法编写MapReduce函数,然后再Hive客户端中调用对目标表进行数据挖掘分析。0028 实施例:本实施例中采用的数据为某省电信运营商语音结算清单数据。实验源数据为ODS仓库的某日语音结算清单全省数据,文件大小为24GB。采用的Hadoop集群共包含4台服务器,一台Namenode,3台Datanode,硬件配置为:8 * Quad-Core AMD Opteron(tm) Processor 2376,内存4GB,硬盘126GB * 2。服务器操作系统均为Red Hat Enterprise Linux Server release 6.3 (Santiago),Hadoop安装版本为1.0.3,Hive版本为0.9.0,Sqoop版本为1.4.3。0029 表1关系型数据库方法Hadoop平台方法抽取数据用时(小时)3 2ETL用时(小时)5 1.5查询分析用时(小时)1 0.5总用时(小时)9 4从表1可以看出每个分步基于Hadoop平台的方法处理的效率都要高出传统方法,大幅地减少了处理时间,可见对于海量数据处理,基于Hadoop平台的方法要远远优于基于关系型数据库方法。说 明 书CN 103425762 A1/1页6图1说 明 书 附 图CN 103425762 A。