[发明专利]一种由转换原语生成Spark代码的方法有效
申请号: | 201611252903.4 | 申请日: | 2016-12-30 |
公开(公告)号: | CN106843858B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 张天;潘敏学;杨宇飞;刘拨杰;车开达;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/35;G06F40/253;G06F40/151;G06F40/16 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 唐绍焜 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 转换 生成 spark 代码 方法 | ||
本发明公开了一种由转换原语生成Spark代码的方法,包括步骤:步骤10:设计表示数据模型变换的转换原语语法;步骤11:输入一个数据模型变换的原语文件,作为代码转换器的输入文件;步骤12:利用Xtext实现代码生成器的文法构造,完成转换原语的语法解析;步骤13:利用Xtend实现代码生成器的转换规则,建立转换原语与Spark代码之间的映射;步骤14:将模型变换的原语文件输入代码生成器;步骤15:得到输入、输出数据类和转换规则的Spark代码;本发明将一组描述数据转换的转换原语生成具有相同转换操作的Spark代码,降低数据平台开发人员使用Spark平台的复杂性,简化数据转换过程,降低基于Spark平台的大数据转换实现成本。
技术领域
本发明涉及一种由转换原语生成Spark代码的方法。
背景技术
数据转换是对于异构数据的常用处理方法。随着企业、组织间的紧密合作以及兼并,异构的数据信息资源广泛存在着,严重影响了部门间的信息交流。而数据转换的目标就是将异构的数据信息进行转换,并消除数据中存在的各种错误,优化数据模型,得到理想的数据模型。
Spark是现在常用的一种大数据平台,随着信息社会的高速发展,人们每天无论是生活还是工作都会产生并且接触到爆炸增长的信息量,从而使得工业界要处理的信息越来越多,也越来越复杂。传统的数据转换方法已经无法快捷高效的处理大数据的转换,因此演化出了如Spark之类的大数据平台。但是Spark平台在高效处理大数据的同时,具有一定的平台复杂性,学习成本较高,对于刚刚接触该平台的用户并不友好。
Xtext是基于eclipse的一个插件工具,利用该工具我们可以自己定义一种基于文本的领域特定语言,然后创建出自定义程序语言。这里我们通过该工具实现了转换原语的设计,并通过它产生Spark代码,从而降低基于Spark平台的大数据转换实现成本,解决在大数据平台进行数据转换复杂性较高这一问题。
发明内容
发明目的:鉴于上述问题,本发明旨在提供一个自定义转换原语生成Spark代码的方法。
技术方案:
一种由转换原语生成Spark代码的方法,包括步骤:
步骤10:设计表示数据模型变换的转换原语文法;
步骤11:输入数据变换的原语文件;原语文件是根据步骤10设计的转换原语文法设计的,包含输入数据模型,输出数据模型和转换规则的信息;
步骤12:利用Xtext对步骤11设计的原语文件进行语法分析,并得到语法分析树;
步骤13:利用Xtend根据步骤12得到的语法分析树对原语文件进行语义转换,生成对应的Spark代码。
所述步骤10的设计过程包括:
步骤20:规定转换控制层原语ExecuteTransformation用来控制整个模型转换的执行,调度ExecuteRule原语;
步骤21:规定转换控制层原语ExecuteRule用来控制一条规则的执行,调度执行层原语;
步骤22:规定执行层原语MatchPattern根据输入模式在模型中进行匹配,得到需转换的输入模型片段;
步骤23:规定执行层原语MatchObject根据某些指定条件,去查找满足条件的匹配对象;
步骤24:规定执行层原语CreateObject来创建模型对象元素;
步骤25:规定执行层原语CreateReference来创建模型关系元素;
步骤26:规定表达式计算曾原语EvaluateExpression用于进行复杂表达式计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611252903.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽车
- 下一篇:后罩(小型摩托车用)