大数据处理详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
目录 (1)
1.引言 (2)
1.1背景与目的 (2)
1.2专业术语及说明 (2)
1.3参考资料 (2)
2. 设计概述 (3)
2.1任务及目标 (3)
2.2需求概述 (3)
2.3运行环境概述 (3)
3.系统详细需求分析 (4)
3.1详细需求分析 (4)
4.总体设计方案 (4)
4.1系统总体结构 (4)
4.2系统模块划分 (5)
5.系统详细设计 (5)
5.1系统结构设计 (5)
5.2系统功能模块详细设计 (6)
6.信息编码设计 (6)
6.1代码结构设计 (6)
6.2代码命名规则 (7)
7.维护设计 (7)
7.1系统的可靠性和安全性 (7)
7.2系统及用户维护设计 (7)
7.3系统扩充设计 (7)
8.系统配置 (7)
8.1硬件配置 (7)
8.2软件配置 (7)
9.关键技术 (7)
9.1关键技术的一般说明 (7)
9.2关键技术的实现方案 (8)
10. 测试 (8)
10.1测试方案 (8)
1.引言
1.1背景与目的
当下互联网和计算机技术越来越多的被各行各业利用,于是产生了海量的数据。进入2012年后,“大数据”一词越来越多的被提及,人们用它来描述和定义信息爆照时代产生的海量数据。
显而易见地,数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然现在企业可能还没有意识到,但随着时间的推移,人们将越来越多的意识到数据对企业的重要性。而这就需要有一种框架来分析处理这种大数据。对于电力行业更是如此,电力方面每时每刻都在产生着大量的数据,而对这些数据的分析和利用有着巨大的市场前景和意义。
1.2专业术语及说明
Hadoop :一种分布式基础架构,由Apache基金会开发。用户可以在不了解分布是底层细节的情况下,开发分布式程序。充分利用集群的威力运算和存储。Hadoop实现了一个分布式系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
Hbase:是一个分布式的、面向列的开源数据库。
Mapreduce:是一种编程模型,用于大规模数据集(大于1T)的并行运算。当前的软件实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce 函数,用来保证所有的映射的键值对中的每一个共享相同的键组。
1.3参考资料
【1】相海泉. 大数据时代[J]. 中国信息界, 2013 (5).
【2】李成华, 张新访, 金海, 等. MapReduce: 新型的分布式并行计算编程模型[J]. 计算机工程与科学, 2011, 33(003): 129-135.
【3】谢桂兰, 罗省贤. 基于HadoopMapReduce 模型的应用研究[J][J]. 微型机与应用, 2010, 25(3): 4-7.
【4】陈勇. 基于Hadoop 平台的通信数据分布式查询算法的设计与实现[D][D]. 北京: 北京交通大学, 2009.
【5】Taylor R C. An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformatics[J]. BMC bioinformatics, 2010, 11(Suppl 12): S1.
2.设计概述
①从HBASE中取数据(driver 类)————>②通过MapReduce对数据进行第一次处理(Mapper 类)————>③根据应用层的需要,对处理过的数据再次进行处理(Reducer类以及附加类:简单的数学基本函数、统计、概率等),并且返回给客户端(预留接口)
2.1任务及目标
数据合成:
1、PI的常用函数:最大值、平均值等
2、专业函数(与PI服务器类似的内置函数)
数据订单:
1、基本的数据挖掘、数理统计函数功能(如统计/概率)
2.2需求概述
因为电力行业在实际生产和应用的过程中会产生大量的数据,而这些数据又对电力有着巨大的影响和意义。对这些数据的处理和存储就成为一个迫在眉睫的问题。从这些数据中可以提取很多对于电力行业以后的发展和现今的实际生产有着指导意义的数据,利用好这些海量的数据则成为如今电力的一个极具战略意义的问题。
但是,如今的PI服务器不但不能满足于这个需求而且成本较高,所以就有替代的必要。
2.3运行环境概述
20个计算节点的Hadoop集群(可横向扩展),集群配置为2*4核CPU,40—80G内存,6—12T存储。
2.4详细设计方法和工具
利用Map函数从Hbase中取数据,Reduce函数对取到的数据进行处理,返回结果给用户。如下图
编程工具:eclipse
编程语言:java
3.系统详细需求分析
3.1详细需求分析
A功能需求分析:批量查询功能,数据处理功能(专业数学函数,基本计算函数,统计等)
B性能需求分析:实时性要求较高,对于数据的处理计算Mapreduce完全能够胜任
C资源需求分析:多台普通X86服务器,成本较低。
D系统运行环境及限制条件分析:系统需要在Linux系统上面运行,搭建hadoop集群框架
E现有软、硬件资源分析:如今华电现有X86服务器4台,可以利用虚拟技术对hadoop 集群进行布置。软件方面目前hadoop框架已搭建成功,可以直接使用。
4.总体设计方案
4.1系统总体结构
如下图为hadoop、hbase、hadoop mapreduce的层次结构
MapReduce分为三个类:Driver类、Mapper类、Reducer类
输入的参数类型是String类(测点名+时间段+(query内容)),解析之后,通过Map Function按照检索条件最后输出List(Hashtable)类型结果;经过Map Function之后的结果,然后在Reducer类里通过调用附加类的函数进行运算,最后输出结果List(Value)。如下图