一、計畫介紹
Exchangis是微眾銀行大數據平台 WeDataSphere 與社群使用者共同研發的的新版數據交換工具,支持異構資料來源之間的結構化和非結構化數據傳輸同步。
Exchangis 抽象了一套統一的資料來源和同步作業定義外掛程式,允許使用者快速接入新的資料來源,並只需在資料庫中簡單配置即可在頁面中使用。
基於外掛程式化的框架設計,及計算中介軟體 Linkis ,Exchangis 可快速整合對接 Linkis 已整合的數據同步引擎,將 Exchangis 的同步作業轉換成 Linkis 數據同步引擎的數據同步作業。
借助於 Linkis 計算中介軟體的連線、復用與簡化能力,Exchangis 天生便具備了高並行、高可用、多租戶隔離和資源管控的金融級數據同步能力。
二、核心特點
1. 輕量化的資料來源管理
基於 Linkis DataSource,抽象了底層資料來源在 Exchangis 作為一個同步作業的 Source 和 Sink 所必須的所有能力。只需簡單配置即可完成一個資料來源的建立。
特別資料來源版本釋出管理功能,支持歷史版本資料來源回滾,一鍵釋出無需再次配置歷史資料來源。
2. 高穩定,快響應的數據同步任務執行
近即時任務管控
快速抓取傳輸任務日誌以及傳輸速率等資訊,對多工包括CPU使用、記憶體使用、數據同步記錄等各項指標進行監控展示,支持即時關閉任務;
任務高並行傳輸
多工並行執行,並且支持復制子任務,即時展示每個任務的狀態,多租戶執行功能有效避免執行過程中任務彼此影響進行;
任務狀態自檢
監控長時間執行的任務和狀態異常任務,中止任務並及時釋放占用的資源。
3. 與DSS工作流打通,一站式大數據開發的門戶
實作DSS AppConn包括一級 SSO 規範,二級組織結構規範,三級開發流程規範在內的三級規範;
作為DSS工作流的數據交換節點,是整個工作流鏈路中的門戶流程,為後續的工作流節點執行提供穩固的數據基礎;
4. 支持多種導數引擎
支持Sqoop和DataX引擎進行多種異構資料來源之間的導數
三、架構設計
四、使用說明
一、登入Exchangis1.0
Exchangis1.0目前作為DSS 數據交換元件 的一部份,透過登入DSS的方式在元件列表中免密進入。所以,在使用Exchangis1.0之前,請對DSS,Exchangis1.0,Linkis等相關元件進行基本部署,保證元件功能可用
1、登入DSS
系統預設透過Linkis的Linux部署使用者登入DSS,如使用hadoop使用者部署Linkis和DSS,可以直接透過帳號密碼:hadoop/hadoop登入。首先根據DSS的前端部署地址登入網頁,接著輸入帳號密碼:hadoop/hadoop進入DSS
2、進入Exchangis
Exchangis透過DSS來進入,在DSS頁面中一詞點選: 首頁->DSS套用元件->數據交換->進入Exchangis
二、資料來源管理
該模組可以對資料來源進行配置和管理,為進行數據同步作業的起始步驟,目前Exchangis1.0支持對mysql和hive直接數據的互相匯入。資料來源主要功能如下:
建立,編輯,刪除資料來源;
根據型別和名稱搜尋資料來源,支持對資料來源快速定位;
資料來源連線測試操作;
歷史資料來源版本釋出及記錄。
1、建立資料來源
點選 建立資料來源 ,選擇自己想要建立的資料來源,當前支持MySQL和Hive兩種資料來源的建立。
選擇建立MySQL資料來源,填寫配置參數,其中,帶星號的為必填項,務必保證連線MySQL資料庫的Host,埠號,使用者名稱和密碼連線正確。 連線參數 為Json格式,用於設定MySQL的配置資訊,填寫完能夠進行 測試連線 。
對於Hive資料來源的配置,與MySQL不太相同,暫時不提供使用者自行在界面進行集群參數配置的功能,對於集群環境,由後端統一配置完成,使用者只需要選擇需要的集群環境即可,點選確定即可保存。
2、資料來源功能
資料來源管理模組提供對配置資料來源版本的 釋出 功能,只有經過釋出的資料來源才能在配置導數任務的時候被使用,否則會提示不可用,只要再次編輯的資料來源就會被視為一個新的版本,最新的版本在第一行。在版本列表中可以 檢視 所有歷史資料來源版本的配置,您可在隨時需要回滾時進行參考。
資料來源管理的 過期 功能,用於提示此資料來源已經逐漸要被替換,請及時更換使用該資料來源的任務配置,避免直接刪除資料來源造成所配置的執行任務失效。
三、計畫管理
1、計畫列表
該模組可以建立計畫,在實際的導數任務中,一個計畫下可以有多個導數任務,不同的計畫之間互不影響,對於普通使用者而言,可以操作的只有自己建立的計畫。在計畫管理首頁,可以對計畫進行管理,包括 建立 , 修改 和 刪除 以及 查詢搜尋 ,修改和刪除只能對在Exchangis中建立的計畫操作。
2、任務列表
進入計畫,可以看到該計畫下的任務列表。
1)任務管理
任務列表中可以對建立的Job數據同步任務進行管理,與計畫類似,包括 建立 , 修改 、 刪除 和 搜尋 。
點選 建立任務 ,能夠選擇任務型別和執行引擎, 目前僅支持離線任務和SQOOP執行引擎 ,未來將會支持流式任務和DataX引擎等。
2)子任務管理
在任務中點選 添加子任務 ,可以添加多個子任務,支持對子任務的 修改、復制和刪除, 同時也支持 任務支持復制 ,復制的子任務包含其原子任務配置的所有資訊。
3)數據同步任務配置和執行
進行該步驟前,需要預先在 資料來源管理模組 添加好資料來源以供選擇,並進行 釋出 ,當前Exchangis版本僅支持 MySQL資料來源和Hive資料來源 。
數據同步任務配置和執行是Exchangis1.0.0的核心功能,基本配置數據同步流程為: 添加子任務 -> 選擇Source資料來源和Sink資料來源 -> 欄位對映配置 -> 過程控制 -> 任務配置 -> 保存 -> 執行 。
任務執行主要功能包括:
子任務卡片的添加,復制和刪除;
實作對兩種不同型別資料來源之間數據的匯入匯出;
來源資料來源和目的地資料來源的庫表選擇;
資料來源欄位對映;
作業最大並行數和作業最大記憶體配置;
數據同步任務執行情況檢視;
每個主任務和各個子任務的日誌檢視;
任務執行歷史狀態檢視;
執行任務kill操作。
資料來源選擇和配置
對於新建立的數據同步子任務,要進行資料來源庫表的選擇,選擇的資料來源為在 資料來源模組 中已釋出的資料來源。資料來源選擇支持搜尋,搜尋方式為先搜尋庫,再搜尋表。
MySQL為目的地資料來源時,支持 插入 和 更新 兩種寫入方式;為源資料來源時,支持 WHERE條件語句查詢 。
Hive為目的地資料來源時,支持分區資訊配置,寫入方式為 追加數據 和 覆蓋 兩種;為源資料來源時,支持 分區資訊配置 。
資料來源欄位對映
當配置完成資料來源庫表資訊時,Exchangis1.0.0會自動進行Source資料來源和Sink資料來源的欄位對映,並且可以自行選擇想要對映的欄位,也可以用來檢查我們的欄位是否匹配;當Hive為Sink資料來源時,其對映欄位不可修改。
過程控制
任務執行提供 作業最大並列數 配置(預設為1個),以及 作業最大記憶體 配置(預設為1024Mb),可根據實際需要進行更改。
4)作業執行
Exchangis1.0支持多個子任務同時執行,任務配置完成後,點選執行,即開始數據同步任務,界面下方會彈出工作台,工作台主要包含三個部份功能: 執行情況、即時日誌和執行歷史 。
執行情況 能夠檢視當前數據同步任務整體進度,包含task成功和失敗的數量等,以及點選task的名字,能夠展示每個task的各項執行指標資訊。
即時日誌 主要展示的內容包含兩大類,一是整個導數job的日誌,能夠輸出每個task的狀態日誌,例如task是否被排程,是否執行中等;二是每個task的日誌,輸出的是各自相應的導數日誌。在即時日誌中能夠根據關鍵字和忽略字進行日誌篩選,並別提供獲取最後n行日誌功能;還可以對Error、Warning和Info不同型別的日誌進行篩選展示,只需點選相應的按鈕即可。
執行歷史 能夠展示該導數任務的歷史執行資訊,對歷史執行過程提供初步的概覽,如果想進一步檢視詳細歷史資訊,點選任務名稱,即可跳轉到同步歷史界面進行檢視。
數據同步任務執行需指定執行使用者,預設為登入使用者,具體情況需根據實際資料來源的配置去調整。
四、同步歷史
該模組可以檢視到歷史執行的所有數據同步任務,每個使用者只能檢視自己建立的任務,不同使用者之間互相隔離。
主要功能如下:
根據查詢條件尋找所需的歷史任務資訊;
對於非終態的任務,提供終止任務的功能,能夠kill掉非終態的任務;
檢視每個任務的執行情況和即時日誌;
檢視每個同步任務的更細節配置資訊和更新時間等。
五、Exchangis Appconn使用
目前,Exchangis1.0支持以Appconn形式與DSS對接, 在DSS端 ,能夠透過DSS的 套用開發->計畫列表 ,以工作流編排的模式建立數據交換 sqoop工作流節點 ,在這裏,能夠進行數據同步任務的配置和執行。在DSS建立的Exchangis計畫和數據交換任務,會同步在Exchangis中建立。
Exchangis Appconn主要支持以下功能:
計畫操作 是對DSS計畫的建立,刪除,修改操作會同步影響Exchangis端的計畫;
工作流節點基本操作 是DSS編排器中對sqoop工作流節點建立,刪除,修改操作會同步到Exchangis端的任務;
工作流導數操作 支持sqoop工作流節點配置執行數據同步任務;
工作流釋出操作 支持sqoop工作流節點釋出至WTSS進行任務排程。
1、計畫操作
該模組能夠對DSS計畫進行建立、修改和刪除,在DSS端的操作會同步到Exchangis端,這裏以在DSS建立的計畫為例,在exchangis appconn操作的流程為: 點選建立計畫->填寫計畫資訊->點選確認->進入Exchangis端->點選計畫管理 ,即可檢視到同步建立的計畫,如下圖所示:
建立完成後,會在Exchangis端看到同步過來的計畫
2、工作流節點基本操作
工作流節點能夠進行建立、修改、刪除和進行依賴選擇,可以進行節點之間的關聯,在DSS端的操作會同步到Exchangis端。這裏以對sqoop工作流節點的建立操作為例,在exchangis appconn對計畫的操作流程為: 建立一條工作流->從左側外掛程式欄拖動sqoop節點至右側畫布->點選確認建立sqoop節點任務->進入exchangis端檢視同步建立的任務 ,如下圖所示,對sqoop節點任務的刪除和修改同理。
可以看到導數任務也同步到Exchangis中了
3、工作流導數操作
雙擊Sqoop節點進行工作流節點進行操作,支持sqoop工作流節點配置與執行數據同步任務。以工作流節點形式進行導數任務是Exchangis Appconn的核心功能, 每一個sqoop節點代表一個數據同步任務 ,具體操作流程如下: 雙擊sqoop節點->彈出任務配置界面->配置任務資訊->執行任務 ,如下圖所示:
這裏有兩種執行方式,一種是在彈出的任務配置界面點選執行按鈕進行執行;另一種是點選DSS編排器的 執行按鈕 或者是 選中執行按鈕 進行執行, 點選執行 會對該工作流中的所有節點執行, 點選選中執行 僅會執行選中的工作流節點,不會執行全部節點。
註:在DSS的sqoop節點中執行的數據同步任務,均可在Exchangis端檢視相關資訊。
4、工作流釋出操作
工作流任務的 釋出 功能,支持sqoop工作流節點釋出至WTSS進行任務排程。在 開發中心 建立和配置的數據交換任務資訊,透過釋出,釋出到WTSS,能夠在WTSS中進行任務排程。
5、生產中心
點選名稱空間的下拉框,切換到 生產中心 ,可以看到所有計畫的工作流的日誌,可以檢視每個工作流排程的狀態
原始碼下載地址:
https://gitee.com/WeBank/Exchangis
看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。