大数据处理详细设计说明_第1页
大数据处理详细设计说明_第2页
大数据处理详细设计说明_第3页
大数据处理详细设计说明_第4页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录目录1?引言1.1 背景与目的1.2 专业术语及说明3.1.3 参考资料2.设计概述2.1 任务及目标2.2 需求概述2.3 运行环境概述3.系统详细需求分析6.3.1 详细需求分析4.总体设计方案4.1 系统总体结构7.4.2 系统模块划分5.系统详细设计.9.5.1 系统结构设计5.2 系统功能模块详细设计1.Q6. 信息编码设计6.1 代码结构设计1.16.2 代码命名规则12专业学习资料7?维护设计127.1 系统的可靠性和安全性127.2系统及用户维护设计127.3系统扩充设计128.系统配置138.1硬件配置.1.3.8.2软件配置.1.3.9.关键技术139.1关键技术的一般

2、说明139.2关键技术的实现方案1410. 测试.14.10.1 测试方案141.引言1.1 背景与目的当下互联网和计算机技术越来越多的被各行各业利用,于是产生了海量的数据。进入专业学习资料2012 年后,大数据”一词越来越多的被提及,人们用它来描述和定义信息爆照时代产生的海量数据。显而易见地,数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然现在企业可能还没有意识到,但随着时间的推移,人们将越来越多的意识到数据对企业的重要性。而这就需要有一种框架来分析处理这种大数据。对于电力行业更是如此,电力方面每时每刻都在产生着大量的数据,而对这些数据的分析和利用有着巨大的市场前景和意义。1.2 专业术

3、语及说明Hadoop :种分布式基础架构,由Apache 基金会开发 。用户可以在不了解分布是底层细节的情况下,开发分布式程序。充分利用集群的威力运算和存储。 Hadoop 实现了一个分布式系统( Hadoop Distributed File System) ,简称 HDFS 。 HDFS 有着高容错性的特点,并且设计用来部署在低廉的( low-cost ) 硬件上。而且它提供高传输率( highthroughput) 来访问应用程序的数据,适合那些有着超大数据集( large data set) 的应用程序 。HDFS 放宽了 (relax ) POSIX 的要求 ( requiremen

4、ts) 这样可以流的形式访问( streaming access) 文件系统中的数据。Hbase : 是一个分布式的、面向列的开源数据库。Map reduce: 是一种编程模型,用于大规模数据集( 大于 1T ) 的并行运算。当前的软件实现是指定一个Map 函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce 函数,用来保证所有的映射的键值对中的每一个共享相同的键组。专业学习资料1.3 参考资料1】相海泉 ?大数据时代 J. 中国信息界 ,2013 (5).2】李成华 , 张新访 , 金海 , 等.MapReduce: 新型的分布式并行计算编程模型J. 计算机工程与科学 ,201

5、1,33(003): 129-135.3】谢桂兰 ,罗省贤 .基于 HadoopMapReduce模型的应用研究JJ. 微型机与应用 ,2010, 25(3): 4-7.4】陈勇 .基于 Hadoop 平台的通信数据分布式查询算法的设计与实现DD. 北京 :北京交通大学 ,2009.5 】 Taylor R C. An overview of the Hadoop/MapReduce/HBase framework and itscurre nt applicatio ns in bioi nformaticsJ. BMC bioi nformatics, 2010, 11(Suppl 12)

6、: S1.2. 设计概述从 HBASE 中取数据 ( driver 类 ) ->通过 MapReduce对数据进行第一次处理 (Mapper 类) -> 根据应用层的需要,对处理过的数据再次进行处理( Reducer 类以及附加类:简单的数学基本函数、统计、概率等) ,并且返回给客户端( 预留接口 )数据合成 :2.1 任务及目标专业学习资料1、 PI 的常用函数:最大值、平均值等2、 专业函数(与PI 服务器类似的内置函数)数据订单:1、基本的数据挖掘、数理统计函数功能(如统计 /概率)2.2 需求概述因为电力行业在实际生产和应用的过程中会产生大量的数据,而这些数据又对电力有着巨

7、大的影响和意义。对这些数据的处理和存储就成为一个迫在眉睫的问题。从这些数据中可以提取很多对于电力行业以后的发展和现今的实际生产有着指导意义的数据,利用好这些海量的数据则成为如今电力的一个极具战略意义的问题。但是,如今的PI 服务器不但不能满足于这个需求而且成本较高,所以就有替代的必要。2.3 运行环境概述20 个计算节点的Hadoop 集群(可横向扩展),集群配置为2*4 核 CPU ,40 80G 内存, 6 12T 存储。2.4 详细设计方法和工具利用 Map 函数从 Hbase 中取数据, Reduce 函数对取到的数据进行处理,返回结果给用户。如下图专业学习资料产二二主芳点盘拥节电无数

8、据 /数据块 0块数那数锯块 14 块,Shuffle 厂 -、結果JobTricJn数据块 2/-nlNpXR rt | H-r数据块 m 数抿块 4编程工具: eclipse编程语言 : java3. 系统详细需求分析3.1 详细需求分析A 功能需求分析:批量查询功能,数据处理功能(专业数学函数,基本计算函数,统计等)B 性能需求分析:实时性要求较高,对于数据的处理计算Mapreduce完全能够胜任C 资源需求分析:多台普通X86 服务器,成本较低。D 系统运行环境及限制条件分析:系统需要在Linux 系统上面运行,搭建hadoop 集群框架E 现有软、硬件资源分析:如今华电现有X86 服

9、务器 4 台,可以利用虚拟技术对hadoop 集群进行布置。软件方面目前hadoop 框架已搭建成功,可以直接使用。专业学习资料4. 总体设计方案4.1 系统总体结构女口下图为hadoop 、hbase 、hadoop mapreduce的层次结构Hadoop MapReduceHBaseHDFSMap Reduce分为三个类: Driver 类、 Mapper 类、 Reducer 类输入的参数类型是String 类(测点名 +时间段 + ( query 内容),解析之后,通过Map Function按照检索条件最后输出List ( Hashtable)类型结果;经过Map Function

10、之后的结果,然后在Reducer 类里通过调用附加类的函数进行运算,最后输出结果List(Value )。女口下图专业学习资料Map Fun cti onArrayList<Key:Sessi onID,Value:SearchMediateResults>Reduce Fun ctionArrayList(SearchResultsw)。用户4.2 系统模块划分1) Map 类 :专业学习资料Map 写入检索条件,遍历数据库HBASE , 得到需要的数据 ( 可以提供的API 按时间检索,按点名检索等) 。需要参数为Hashtable类型 ( hashtable<Key:I

11、D,Value:UserQuery>) 进过 Map 函 数之后输出数据为ArrayList<Key:Sessio nlD,Value:Search MediateResults>。2) Reduce 类:Reduce 函数得到 Map 的返回结果即ArrayList 类型的数据之后经过运算处理返回给 User 的数据为 ArrayList(SearchResultsw) 。3) 基础类:封装的函数:加减乘除等基本运算、统计count 、计算概率、解析字符串、专业函数等。4) Driver 类:使用 JobConf 和 JobClient 提交作业;与Map 类和 Reduc

12、e 类关联 。5.1 系统结构设计系统分为两个java 包:一个是批量查询的包( querydatatable) , 一个是批量计算的包 ( datamath ) 。在 querydatatable 包内,有四个类: DriverQuery 类、 QueryMap 类、专业学习资料StringAnalytical类、 TxtHBase 类。在 datamath 包内,有多个类: MathDriver 类、 MathMap 类、 MathSum类、专业学习资料MathCount 类、 MathDataAppend类等,这个包内需要封装一些类似PI 服务器里的函数如下表所示PIMapReduce三

13、角函数三角函数 (sin 、cos 、tan )Log 、 lgLog 、 lg平方根 Sqr 、方差平方根 Sqr 、方差Avg 、 max 、 min 、 total ( sum )Avg 、 max 、 min 、 total ( sum )绝对值 abs 、近似值( round )绝对值 abs 、近似值( round )加减乘除加减乘除统计统计专业函数(水汽、功率)专业函数(水汽、功率)字符串解析 (.)字符串解析()时间转化(时间戳)时间转化(时间戳)错误处理错误处理好点、坏点处理好点、坏点处理55.2 系统功能模块详细设计总体功能分为两个部分:数据订单,数据合成。A.数据订单即批

14、量查询功能编写字符串解析类,解析HBase 的 RowKey 。然后编写Map per 类,这个类继承自 MapReduceBase,重写这里面的接口函数Map per ,将检索条件写入Mapper 类。专业学习资料然后通过 Driver 类调用 JobConf 和 JobClient 提交作业 。B.数据合成即根据上次应用的需求对查询后的数据进行处理计算。查询后的数据传递给Reducer 类,在 Reducer 类里进行处理,这里需要封装多个Reducer 类,根据上面列表内的函数依次封装,用户Reducer 类需要继承MapReduceBase类及实现Reducer 接口函数,注意的一点是

15、这个里面的输入Key 及Value 要与 Map per 的输出 key 及 Value 类型相同。另外因为有电力方面专业函数的存在,需要编写一个附加类来提供这些计算方法,以便于在用户Reducer 类里面调用。以上的核心逻辑处理完之后,用output.collect方法来输出最终的结果。最后还是使用 JobConf 及 JobClient 来提交作业 。6.1 代码结构设计源代码分为两个包,每个包内有不同的java 类。 Source 文件下需要导入hadoop 框架的四个 .xml 文 件分另 U 为 : core-site.xml、 hbase-site.xml、 hdfs-site.x

16、ml、 mapred-site.xml。还有需要有hadoop 的 jar 包支持。Map Reduce框架结构主要是分为3 个类: Driver 类、 Map 类、 Reduce 类Driver 类代码结构为:首先创建JobCo nf 对象 conf , 设置 conf 的配置,关联Map 类、Reducer 类及其他类 。然后调用 JobClie nt 的静态方法run Job 方法启动 M/R 程序 。Map 类代码结构为:这个用户类要求继承自MapReduceBase并且实现 Mapper 接口,然后根据检索条件遍历HBase 中的内容,得到所需要的内容,并且或输出或传递给专业学习资料

17、Reducer 用户类。Reducer 类代码结构为:这个用户类要求继承自MapReduceBase 接口,并且实现 Reducer然后通过调用附加类中的函数运算或者根据要求,对 Mapper之后的数据经行处理,并且利用output.collect方法输出最终的结果。附加类代码结构:根据表中所列的函数及其他需求,编写封装函数。6.2 代码命名规则尽量使用英文直译之后名称来定义,首字母大写。7. 维护设计7.1 系统的可靠性和安全性后期设计中会加入控制台设计,权限设计以及针对用户的特殊设计7.2 系统及用户维护设计利用 hadoop 框架提供的维护可以实现这一功能7.3 系统扩充设计因为 had

18、oop 框架是支持横向扩展的,所以存储量这方面不用担心。在功能方面可以预留接口以专业学习资料方便以后的功能性扩展。8. 系统配置8.1 硬件配置开发:可以在虚拟机下开发,需要五台虚拟机搭建hadoop 集群(测试使用)。运行:多台普通的X86 服务器。(实体的hadoop 集群)8.2 软件配置开发环境: eclipse 、java1.6 、 hadoop 框架、 HBase 、win7 64 位操作系统运行环境:zookeeper 、HBase 、Hadoop 、Linux64 位操作系统9. 关键技术9.1 关键技术的一般说明Map/Reduce是一个用于大规模数据处理的分布式计算编程模型,用户定义一个map函数来处理一个Key/Value 对以生成一批中间的key/value 对,在定义一个reduce 函数将所有的这些中间的有着相同的 key 的 values 合并起来 。而基于 hadoop 的 Map Reduce 也是如此。专业学习资料9.2 关键技术的实现方案运行于 Hadoop 的 MapReduce 应用程序最基本的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论