[发明专利]一种基于HDFS集群的海量数据分析统计方法有效
申请号: | 201710206439.3 | 申请日: | 2017-03-31 |
公开(公告)号: | CN107025140B | 公开(公告)日: | 2018-03-09 |
发明(设计)人: | 林森;唐宁;马娜 | 申请(专利权)人: | 北京快友世纪科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100020 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdfs 集群 海量 数据 分析 统计 方法 | ||
技术领域
本发明一般地涉及海量数据处理方法,并且更特别地,涉及一种基于HDFS集群的海量数据分析统计方法。
背景技术
随着移动互联网的爆发式发展,人们已经从传统的PC端,快速切换到手机端,并且手机端已经站稳用户的“第一屏幕”。在这种趋势下,广大应用开发者有变现的需求,自然会选择接入移动广告平台,而需求方平台(Demand-Side Platform,DSP)有精准投放广告的需求,在这种市场需求下,广告交易平台每天会完成几十亿次的广告交易,随之而来的是服务器每天产生上百TB的广告交易数据。在基于终端设备、地域、GPS等海量数据处理中,需要进行广告交易数据的分析,用户行为的分析,用户作弊行为的分析(恶意刷量),需求方平台每天消费等不同种类或维度的数据统计分析。
目前来说,对于海量大数据的统计分析一般是使用传统的Hadoop中MapReduce来实现的。Hadoop是一种分布式系统基础架构,实现了一个分布式文件系统(Hadoop Distributed File System)。Hadoop的框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。在实际应用中,hadoop的HDFS服务器集群会接收到不同交易服务器产生的交易日志或其他数据;此后经HDFS的管理节点(NameNode),又称主控服务器,分配后多个工作节点(DataNode)上运行MapReduce作业,实现单一维度的数据统计分析,其具体算法如下:首先根据统计维度的算法进行全部数据扫描,以进行数据分组并据此分配任务至多个工作节点,即映射(map)过程,然后使多个工作节点进行数据排序及合并的并行处理,最后将各个节点合并后的数据统一汇总,执行归约(reduce)操作,并将统计分析后的结果数据进行储存。此后依次重复MapReduce以执行剩余维度的数据统计。MapReduce的流程示意图在附图中显示。
MapReduce在每次执行一个维度的统计分析运算时都需要进行全部数据的扫描,以完成数据统计分析。其统计总时间的估算公式为:T(n)=∑(Td(n)+Tm(n)+Tr(n)),其中,T(n)为n种统计分析运行总时间,Td(n)为n次全表扫描总时间,Tm(n)为n种统计分析的map总时间,Tr(n)为n种统计分析的reduce总时间。当需要进行比较多的数据统计分析时,该方法会长时间占用相对有限的HDFS服务器集群资源。并且,由于这种统计分析方法计算用时太久,目前已不能满足每天给开发者和需求方结算的要求。
发明内容
针对上述问题,本发明通过一种基于HDFS集群的海量数据分析统计方法,解决了现有技术,即MapReduce方法,在统计分析海量数据时占用有限的HDFS服务器集群资源时间太长以及统计分析本身时间太长的问题。
为了实现上述目的,本发明采用如下技术方案。
一种基于HDFS集群的海量数据分析统计方法,其特征在于:
建立支线调度器,由一个单独的管理节点实现;
采用配置文件创建支线,所述支线是最小的统计单元,一个支线完成一个数据维度的统计;
初始化支线,支线调度器赋予支线在本次统计任务中一个全局唯一的支线ID;
数据分组,进行全部数据扫描,将原始数据根据不同支线所需要统计的数据维度进行划分并赋予对应的分组键,形成[分组键,数据值]键值对,所述分组键含有对应的支线ID信息,;
数据合并,在各个工作节点中根据键值对的分组键将支线ID解析出来,再根据支线ID去支线调度器中找到对应支线,然后将具有相同分组键的键值对归入对应支线中,在每个支线中对键值对中的数据值进行统计,合并成一对分组数据;
数据统计输出,将集群中的各个节点的分组数据汇集在一起,将具有相同分组键的分组数据进行归约,最后将归约结果输出至对应支线,再由支线输出;
释放资源,在完成一个数据维度的统计后支线调度器将负责该数据维度统计的支线所占用的系统资源释放。
所述系统资源包括数据库连接资源、文件资源、数据集合资源。
本发明所述的实现支线调度器的管理节点不同于现有技术中的管理节点Namenode,本发明所述的管理节点在于实现支线的调配,即支线所占用若干个工作节点的调配。
进一步地,所述分组键的组成为:支线ID_统计数据键。
进一步地,在初始化支线后,还对支线ID进行校验,以避免支线ID与其他参数重合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京快友世纪科技股份有限公司,未经北京快友世纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710206439.3/2.html,转载请声明来源钻瓜专利网。