[發明專利]基于Spark技術的ETL系統及其方法在審
| 申請號: | 201710088150.6 | 申請日: | 2017-02-20 |
| 公開(公告)號: | CN106897411A | 公開(公告)日: | 2017-06-27 |
| 發明(設計)人: | 陳濤;黃卓凡;張志聰;李筍;林志廣 | 申請(專利權)人: | 廣東奡風科技股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 東莞市神州眾達專利商標事務所(普通合伙)44251 | 代理人: | 皮發泉 |
| 地址: | 510000 廣東省廣州市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 spark 技術 etl 系統 及其 方法 | ||
技術領域
本發明涉及一種ETL系統及其方法,尤其涉及一種基于Spark技術的ETL系統及其方法。
背景技術
隨著大數據的發展,企業越來越重視數據相關的開發和應用,從而獲取更多的市場機會,大數據應用離不開海量數據的清洗和加工,企業通常采用主流的ETL(數據抽取、轉換和加載)產品,或直接采用數據庫存儲過程編碼進行數據處理。
目前,主流的ETL產品大多基于單機架構,在處理海量數據時,IO吞吐量、系統資源存在瓶頸,擴展困難且價格昂貴;另一方面,ETL產品注重操作界面的易用性,每個數據加工過程通過畫圖進行設計,但元數據管理和ETL產品分離,導致數據結構變更時需手動變更相關設計;數據庫存儲過程編碼存在同樣的問題,且開發低效,維護困難。
隨著Hadoop的出現,分布式平臺的線性擴展和低成本,很好地解決了單機搭建數據平臺的不足;在Hadoop平臺上采用Hive進行數據加工得到較多的認可,但Hive是基于MapReduce分布式計算架構,有先天性不足,MapReduce的每步計算需要讀寫磁盤,屬于高延時迭代。
綜上,有必要設計一種基于Spark技術的ETL系統及其方法來彌補上述缺陷。
發明內容
本發明提出一種基于Spark技術的ETL系統及其方法,其解決了現有技術中在處理海量數據時,IO吞吐量、系統資源存在瓶頸,擴展困難且價格昂貴的缺陷。本發明基于Spark技術,可以線性平滑擴展,運行速度快,運行無需人工干預,且易于管理和維護,能充分滿足各行業特別是大企業在數據ETL方面的需要。
本發明的技術方案是這樣實現的:
本發明公開一種基于Spark技術的ETL系統,其包括數據抽取模塊、數據處理模塊、數據整合模塊、數據輸出模塊、元數據管理模塊和數據存儲模塊;數據存儲模塊包括中轉數據存儲庫、整合數據存儲庫和元數據控制文件;數據抽取模塊用于抽取源數據,并根據數據分塊規則在分布節點上動態生成多個Spark RDD,再通過線程池啟動多個線程來調用數據處理模塊對每個Spark RDD進行并行處理;數據處理模塊用于讀取數據抽取模塊生成的Spark RDD,經過元數據匹配檢查和一系列數據轉換,得到處理后的數據,并保存在中轉數據存儲庫中;數據整合模塊用于對當天的中轉數據和上一天的整合數據進行全量數據整合或歷史數據整合,得到當天整合后數據,并保存在整合數據存儲庫中;數據輸出模塊用于根據數據應用系統對數據格式的要求,對當天整合后數據進行格式轉換并輸出;元數據管理模塊用于將系統各種要素進行參數化定義和管理。
其中,數據抽取模塊包括數據接入模塊和第一分布式數據集生成模塊;數據接入模塊通過離線抽取和在線抽取的方式直接讀取壓縮格式的數據文件,并傳送至第一分布式數據集生成模塊進行后續處理;第一分布式數據集生成模塊通過數據接入模塊讀取源數據,并根據數據分塊規則在分布節點上動態生成多個Spark RDD,待數據處理模塊進一步處理。
其中,數據處理模塊包括數據檢查模塊和數據轉換模塊;數據檢查模塊通過元數據匹配對數據進行檢查并生成數據檢查報告;數據轉換模塊用于對數據進行清理和轉換。
其中,數據整合模塊包括第二分布式數據集生成模塊、全量數據整合模塊和歷史數據整合模塊;第二分布式數據集生成模塊用于分別讀取當天的中轉數據和上一天的整合數據,在分布式節點上生成對應的Spark RDD;全量數據整合模塊用于讀取第二分布式數據集生成模塊生成的Spark RDD,根據中轉數據中的增、刪、改標識,相應對上一天的整合數據Spark RDD中相同健值的數據進行增、刪、改操作,處理完成后,形成中轉數據Spark RDD存入到整合數據存儲庫中;歷史數據整合模塊用于讀取當天的中轉數據Spark RDD,根據中轉數據中的增、刪、改標識,對上一天的整合數據Spark RDD中相同健值的數據做相應處理,處理完成后,存入到整合數據存儲庫中。
其中,數據輸出模塊包括第三分布式數據集生成模塊和目標數據輸出模塊;第三分布式數據集生成模塊用于讀取當天的整合數據,在分布式節點上生成對應的Spark RDD;目標數據輸出模塊用于讀取第三分布式數據集生成模塊生成的Spark RDD,對當天整合后數據進行格式轉換并輸出。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東奡風科技股份有限公司,未經廣東奡風科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710088150.6/2.html,轉載請聲明來源鉆瓜專利網。





