[發明專利]一種由轉換原語生成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.szxzyx.cn/pat/books/201611252903.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:汽車
- 下一篇:后罩(小型摩托車用)





