[發明專利]一種基于多數據源的ETL方法及裝置有效
| 申請號: | 202110862612.1 | 申請日: | 2021-07-29 |
| 公開(公告)號: | CN113505119B | 公開(公告)日: | 2023-08-29 |
| 發明(設計)人: | 劉曉文;李凡平;石柱國 | 申請(專利權)人: | 青島以薩數據技術有限公司 |
| 主分類號: | G06F16/215 | 分類號: | G06F16/215;G06F16/21;G06F16/22;G06F16/2457;G06F16/25 |
| 代理公司: | 北京酷愛智慧知識產權代理有限公司 11514 | 代理人: | 何忠儀 |
| 地址: | 266000 山東省青島*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 多數 etl 方法 裝置 | ||
本發明公開了一種基于多數據源的ETL方法及裝置,該方法包括:配置自定義數據;選擇輸出的目的表和字段的清洗規則;根據配置和選擇操作生成對應的消息格式,并寫入到kafka消息隊列;利用spark流式計算框架處理kafka消息隊列中的數據后,再將處理后的數據入庫;其有益效果是:(1)使用web頁面的方式簡化了運維開發人員接數據的操作,不用執行命令,不用修改配置文件,不用執行程序就可以輕松完成多種復雜數據的遷移和接入,降低了學習成本和運維難度;(2)利用制定了數據接入的通用規則,不同庫不同表的數據都可以寫成此格式,可以用這一套流程代碼來完成所有的不同源的數據ETL操作,大大減少了開發量。
技術領域
本發明涉及數據處理技術領域,具體涉及一種基于多數據源的ETL方法及裝置。
背景技術
目前大數據ETL(數據抽取、轉換和加載)的應用越來越廣泛,例如電商領域,金融領域和安防領域等。現有技術中,數據接入和存儲大多數都為一種數據來源和一個目標數據源定制開發一個ETL程序,但是隨著數據源越來越多,數據分析的維度也越來越多,所需要開發的程序也越來越多,進而造成開發成本和運維成本直線上升。
發明內容
針對現有技術中存在的缺陷,本發明實施例的目的在于提供一種基于多數據源的ETL方法及裝置。
為實現上述目的,第一方面,本發明實施例提供了一種基于多數據源的ETL方法,包括:
配置自定義數據;
選擇輸出的目的表和字段的清洗規則;其中,所述配置和選擇均通過在前端Web頁面中操作所得;
根據所述配置和選擇操作生成對應的消息格式,并寫入到kafka消息隊列;
利用spark流式計算框架處理所述kafka消息隊列中的數據后,再將處理后的數據入庫。
作為本申請的一種具體實施方式,所述清洗規則為封裝完成的函數;所述清洗規則包括:
字段內容清除,刪除空格;
空值替換,指定值替換為NULL。
作為本申請的一種具體實施方式,所述spark流式計算框架的處理包括以下步驟:
根據數據量和實時性的要求設置批處理的時間;
將接收的kafka數據,按照預先定義好的數據格式封裝為javabean;
使用spark的dstream的filter算子根據所述數據格式里的目標數據庫字段分為不同的dstream流,再對每個流遍歷進行入庫操作。
作為本申請的一種具體實施方式,對同一批流的數據按照目標表字段分組,使用RDD的groupby算子計算出目標表的數量,然后對目標表們進行遍歷,再次使用RDD的filter算子把相同表的數據篩選到一塊,每一個RDD都是同一類的目標表;
當同一類目標表的數據都在一起后,統一進行清洗操作,取出數組對應位置的字段值,再取出對應清洗字段的值,用清洗規則的方法名反射清洗規則,對字段進行清洗。
進一步地,作為本申請的一種優選實施方式,采用sparksql里的dataframe進行入庫。
第二方面,本發明實施例還提供了一種基于多數據源的ETL裝置,包括:
配置模塊,用于配置自定義數據;
選擇模塊,用于選擇輸出的目的表和字段的清洗規則;其中,所述配置和選擇均通過在前端Web頁面中操作所得;
封裝模塊,用于根據所述配置和選擇操作生成對應的消息格式,并寫入到kafka消息隊列;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于青島以薩數據技術有限公司,未經青島以薩數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110862612.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種帶積放功能可控節奏的碼垛機械手臂
- 下一篇:隱藏式門板升降機構





