当前位置:主页 > 科技论文 > 软件论文 >

基于模型驱动的MapReduce大数据变换软件开发方法研究

发布时间:2020-08-05 09:37
【摘要】:近年来,大数据研究和应用已成为产业升级与新产业崛起的重要力量,网络数据呈现指数级增长,GB,TB乃至PB级别的数据处理变得司空见惯。这些海量数据存储于社会中的各个部门当中,置于多种数据环境和数据平台,形态各异,形成了大量的异构数据。异构数据的广泛存在,严重阻碍了数据交流。与此同时,以Hadoop和Spark为代表的大数据处理平台应运而生。然而这些大数据处理平台有其自身特有的编程模型和实现细节,使用这些平台也需要借助于特定的编程语言,因此学习门槛较高,学习曲线陡峭。基于以上背景,我们需要一种可以屏蔽平台细节和数据异构性的方法,让用户在对大数据平台没有深刻掌握,不需要考虑数据异构的情况下,进行大数据程序开发。本文提出了一套模型驱动的MapReduce大数据变换程序开发方法,该方法对数据进行抽象建模,用模型转换表示数据的变换过程,利用代码生成技术映射生成Hadoop和Spark两种数据处理程序的代码,让用户开发大数据程序对海量异构进行处理的过程可以屏蔽平台细节和数据异构姓。我们选取了目前广泛使用的Ecore格式用于源数据和目标数据的模型表示,并采用OMG组织公布的QVT-R标准作为模型转换层的描述语言。我们引入一门平台无关命令式描述语言Midcore作为大数据处理代码与QVT-R桥接的中间语言。Ecore和QVT-R映射生成对应的Midcore描述,Midcore支持同时映射生成Hadoop和Spark代码。本方法还可以支持扩展,基于Midcore可生成其他大数据平台代码。基于本文提出的方法,我们实现了相应的支撑工具QE2HS,该工具能够将Ecore和QVT-R描述的模型和变换自动生成Hadoop和Spark代码,最后我们还进行了相关的实例研究。结果表明,该方法能够有效生成大数据处理程序的源代码代码,实现了平台细节和数据异构性的屏蔽,简化了大数据程序代码的编写复杂程度,生成的代码执行效率也是可以接受的。
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52;TP311.13
【图文】:

框架图,数据处理,格式,引擎


等多平台并行编程框架0ctopUSt18],它能屏蔽不同平台的细节,向用户提供统逡逑一的R语言接口,设计一套算法,让R语言描述的矩阵操作能够转化为具体平逡逑台的编程描述。图1-3是Octopus框架图,最底层是结构是HDFS,邋Tachyon等逡逑分布式文件系统,Octopus将矩阵数据分布式存储在这些文件系统中。往上一逡逑层是邋Spark,邋Hadoop邋MapReduce,邋MPI,邋Local邋R邋等矩阵运算执行引擎。Octopus邋为逡逑用户提供了名为Octopus-R的API,用户利用其编写程序,Octopus为这些API逡逑提供执行优化器与引擎连接器,将矩阵计算过程进行优化,通过分布式并行矩逡逑阵计算算法对计算过程进行转化

框架图,框架图


程序空间以实现有效的MapReduce数据处理过程。这些规则包括一种用于处逡逑理不规则循环承载依赖性的新技术,使用group-by操作来实现更大的并行性。逡逑图1-4是方法的代码转换示意图。一个输入程序首先被翻译成Array邋SSA形逡逑式[22],这有助于推导成一个lambda-演算式功能描述,翻译并使用fold算子来逡逑维护循环的结构,这对于后来的转换是必不可少的。程序最初生成的“lambda逡逑plus邋fold”描述与有效的MapReduce程序相距甚远。虽然fold操作可以使用逡逑

示意图,层次模型,示意图,模型转换


图2-1:各层次模型转换示意图逡逑1.逦M2层次即UML等各种标准的元模型之间的转换;逡逑2.逦Ml层模型之间的转换,我们平常触及的模型转换以这种类型最为常见;逡逑

【参考文献】

相关期刊论文 前1条

1 何啸;麻志毅;王瑞超;邵维忠;;语义可配置的模型转换[J];软件学报;2013年07期



本文编号:2781362

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2781362.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户ce876***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com