大数据处理详细设计(共8页)



《大数据处理详细设计(共8页)》由会员分享,可在线阅读,更多相关《大数据处理详细设计(共8页)(8页珍藏版)》请在装配图网上搜索。
1、精选优质文档-----倾情为你奉上 目录 1.引言 1.1背景与目的 当下互联网和计算机技术越来越多的被各行各业利用,于是产生了海量的数据。进入2012年后,“大数据”一词越来越多的被提及,人们用它来描述和定义信息爆照时代产生的海量数据。 显而易见地,数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然现在企业可能还没有意识到,但随着时间的推移,人们将越来越多的意识到数据对企业的重要性。而这就需要有一种框架来分析处理这种大数据。对于电力行业更
2、是如此,电力方面每时每刻都在产生着大量的数据,而对这些数据的分析和利用有着巨大的市场前景和意义。 1.2专业术语及说明 Hadoop :一种分布式基础架构,由Apache基金会开发。用户可以在不了解分布是底层细节的情况下,开发分布式程序。充分利用集群的威力运算和存储。Hadoop实现了一个分布式系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)
3、的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。 Hbase:是一个分布式的、面向列的开源数据库。 Mapreduce:是一种编程模型,用于大规模数据集(大于1T)的并行运算。当前的软件实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有的映射的键值对中的每一个共享相同的键组。 1.3参考资料 【1】相海泉. 大数据时代[J]. 中国信息界, 2013 (5). 【2】李成华, 张新访, 金海, 等. MapRedu
4、ce: 新型的分布式并行计算编程模型[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 bio
5、informatics[J]. BMC bioinformatics, 2010, 11(Suppl 12): S1. 2. 设计概述 ①从HBASE中取数据(driver 类)————>②通过MapReduce对数据进行第一次处理(Mapper 类)————>③根据应用层的需要,对处理过的数据再次进行处理(Reducer类以及附加类:简单的数学基本函数、统计、概率等),并且返回给客户端(预留接口) 2.1任务及目标 数据合成: 1、 PI的常用函数:最大值、平均值等 2、 专业函数(与PI服务器类似的内置函数) 数据订单: 1、 基本的数据挖掘、数理统计函数功
6、能(如统计/概率) 2.2需求概述 因为电力行业在实际生产和应用的过程中会产生大量的数据,而这些数据又对电力有着巨大的影响和意义。对这些数据的处理和存储就成为一个迫在眉睫的问题。从这些数据中可以提取很多对于电力行业以后的发展和现今的实际生产有着指导意义的数据,利用好这些海量的数据则成为如今电力的一个极具战略意义的问题。 但是,如今的PI服务器不但不能满足于这个需求而且成本较高,所以就有替代的必要。 2.3运行环境概述 20个计算节点的Hadoop集群(可横向扩展),集群配置为 2*4核CPU,40—80G内存,6—12T存储。 2.4详细设计方法和工具 利用Map
7、函数从Hbase中取数据,Reduce函数对取到的数据进行处理,返回结果给用户。如下图 编程工具:eclipse 编程语言:java 3.系统详细需求分析 3.1详细需求分析 A功能需求分析:批量查询功能,数据处理功能(专业数学函数,基本计算函数,统计等) B性能需求分析:实时性要求较高,对于数据的处理计算Mapreduce完全能够胜任 C资源需求分析:多台普通X86服务器,成本较低。 D系统运行环境及限制条件分析:系统需要在Linux系统上面运行,搭建hadoop集群框架 E现有软、硬件资源分析:如今华电现有X86服务器4台,可以利用虚拟技术对hadoo
8、p集群进行布置。软件方面目前hadoop框架已搭建成功,可以直接使用。 4.总体设计方案 4.1系统总体结构 如下图为hadoop、hbase、hadoop mapreduce的层次结构 MapReduce分为三个类:Driver类、Mapper类、Reducer类 输入的参数类型是String类(测点名+时间段+(query内容)),解析之后,通过Map Function按照检索条件最后输出List(Hashtable)类型结果;经过Map Function之后的结果,然后在Reducer类里通过调用附加类的函数进行运算,最后输出结果List(Valu
9、e)。如下图
Map Function
ArrayList
10、p函数之后输出数据为ArrayList
11、一个是批量查询的包(querydatatable),一个是批量计算的包(datamath)。 在querydatatable包内,有四个类:DriverQuery类、QueryMap类、StringAnalytical类、TxtHBase类。 在datamath包内,有多个类:MathDriver类、MathMap类、MathSum类、MathCount类、MathDataAppend类等,这个包内需要封装一些类似PI服务器里的函数,如下表所示: PI MapReduce 三角函数 三角函数(sin、cos、tan) Log、lg Log、lg 平方根Sqr、方差 平方根S
12、qr、方差 Avg、max、min、total(sum) Avg、max、min、total(sum) 绝对值abs、近似值(round) 绝对值abs、近似值(round) 加减乘除 加减乘除 统计 统计 专业函数(水汽、功率) 专业函数(水汽、功率) 字符串解析(...) 字符串解析(...) 时间转化(时间戳) 时间转化(时间戳) 错误处理 错误处理 好点、坏点处理 好点、坏点处理 55.2系统功能模块详细设计 总体功能分为两个部分:数据订单,数据合成。 A. 数据订单即批量查询功能 编写字符串解析类,解析HBase的RowKey。然后
13、编写Mapper类,这个类继承自MapReduceBase,重写这里面的接口函数Mapper,将检索条件写入Mapper类。然后通过Driver类调用JobConf和JobClient提交作业。 B. 数据合成即根据上次应用的需求对查询后的数据进行处理计算。 查询后的数据传递给Reducer类,在Reducer类里进行处理,这里需要封装多个Reducer类,根据上面列表内的函数依次封装,用户Reducer类需要继承MapReduceBase类及实现Reducer接口函数,注意的一点是这个里面的输入Key及Value要与Mapper的输出key及Value类型相同。 另外因为有电力方面专业
14、函数的存在,需要编写一个附加类来提供这些计算方法,以便于在用户Reducer类里面调用。 以上的核心逻辑处理完之后,用output.collect方法来输出最终的结果。最后还是使用JobConf及JobClient来提交作业。 6.信息编码设计 6.1代码结构设计 源代码分为两个包,每个包内有不同的java类。Source文件下需要导入hadoop框架的四个.xml文件分别为:core-site.xml、hbase-site.xml、hdfs-site.xml、mapred-site.xml。还有需要有hadoop的jar包支持。 MapReduce框架结构主要是分为3个类:Dr
15、iver类、Map类、Reduce类 Driver类代码结构为:首先创建JobConf对象conf,设置conf的配置,关联Map类、Reducer类及其他类。然后调用JobClient的静态方法runJob方法启动M/R程序。 Map类代码结构为:这个用户类要求继承自MapReduceBase并且实现Mapper接口,然后根据检索条件遍历HBase中的内容,得到所需要的内容,并且或输出或传递给Reducer用户类。 Reducer类代码结构为:这个用户类要求继承自MapReduceBase并且实现Reducer接口,然后通过调用附加类中的函数运算或者根据要求,对Mapper之后的数据经
16、行处理,并且利用output.collect方法输出最终的结果。 附加类代码结构:根据表中所列的函数及其他需求,编写封装函数。 6.2代码命名规则 尽量使用英文直译之后名称来定义,首字母大写。 7.维护设计 7.1系统的可靠性和安全性 后期设计中会加入控制台设计,权限设计以及针对用户的特殊设计。 7.2系统及用户维护设计 利用hadoop框架提供的维护可以实现这一功能。 7.3系统扩充设计 因为hadoop框架是支持横向扩展的,所以存储量这方面不用担心。在功能方面可以预留接口以方便以后的功能性扩展。 8.系统配置 8.1硬件配置
17、 开发:可以在虚拟机下开发,需要五台虚拟机搭建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函数将所有的这些中间的有
18、着相同的key的values合并起来。而基于hadoop的MapReduce也是如此。 9.2关键技术的实现方案 运行于Hadoop的MapReduce应用程序最基本的组成部分包括一个Mapper和一个Reducer类,以及一个创建JobConf的执行程序,在一些应用中还可以包括一个Combiner类。MapReduce框架是由一个单独的JobTracker(master)和很多歌TaskTracker(slave)集群节点的一个共同组成。 在MapReduce客户端的代码需要指明输入/输出的位置(文件路径/DB/NOSQL/HBASE),客户端再加上作业的参数,就构成了作业配置
19、(job configuration),客户端代码需要定义map和reduce方法通过实现合适的抽象类,并在实现的方法中编写业务逻辑,在客户端还要定义Map/Reduce的输入和输出类型,当Hadoophe job client提交作业(jar包/class/可执行程序)和配置信息给JobTracker,后者负责分发这些软件和配置信息给slave、调度人物并且监控他们的执行,同时提供状态和诊断信息给Job Client。至于客户端job提交后就是hadoop的事情了。 本项设计中通过mapreduce框架从Hbase table中读取数据,经过格式化、对内容的加工,再输出给用户。 10. 测试 10.1测试方案 将编写好的代码打包成一个jar包,导入测试的5台虚拟机组成的hadoop集群中,编写一个测试小程序,测试其运行的过程及结果。 专心---专注---专业
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇