當前位置: 妍妍網 > 碼農

12.9k star! 地表最強,微眾銀行開源的輕量級數據交換平台

2024-07-05碼農

一、計畫介紹

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. 建立,編輯,刪除資料來源;

    2. 根據型別和名稱搜尋資料來源,支持對資料來源快速定位;

    3. 資料來源連線測試操作;

    4. 歷史資料來源版本釋出及記錄。

    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資料來源 -> 欄位對映配置 -> 過程控制 -> 任務配置 -> 保存 -> 執行

    任務執行主要功能包括:

    1. 子任務卡片的添加,復制和刪除;

    2. 實作對兩種不同型別資料來源之間數據的匯入匯出;

    3. 來源資料來源和目的地資料來源的庫表選擇;

    4. 資料來源欄位對映;

    5. 作業最大並行數和作業最大記憶體配置;

    6. 數據同步任務執行情況檢視;

    7. 每個主任務和各個子任務的日誌檢視;

    8. 任務執行歷史狀態檢視;

    9. 執行任務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不同型別的日誌進行篩選展示,只需點選相應的按鈕即可。

    執行歷史 能夠展示該導數任務的歷史執行資訊,對歷史執行過程提供初步的概覽,如果想進一步檢視詳細歷史資訊,點選任務名稱,即可跳轉到同步歷史界面進行檢視。

    數據同步任務執行需指定執行使用者,預設為登入使用者,具體情況需根據實際資料來源的配置去調整。

    四、同步歷史

    該模組可以檢視到歷史執行的所有數據同步任務,每個使用者只能檢視自己建立的任務,不同使用者之間互相隔離。

    主要功能如下:

    1. 根據查詢條件尋找所需的歷史任務資訊;

    2. 對於非終態的任務,提供終止任務的功能,能夠kill掉非終態的任務;

    3. 檢視每個任務的執行情況和即時日誌;

    4. 檢視每個同步任務的更細節配置資訊和更新時間等。

    五、Exchangis Appconn使用

    目前,Exchangis1.0支持以Appconn形式與DSS對接, 在DSS端 ,能夠透過DSS的 套用開發->計畫列表 ,以工作流編排的模式建立數據交換 sqoop工作流節點 ,在這裏,能夠進行數據同步任務的配置和執行。在DSS建立的Exchangis計畫和數據交換任務,會同步在Exchangis中建立。

    Exchangis Appconn主要支持以下功能:

    1. 計畫操作 是對DSS計畫的建立,刪除,修改操作會同步影響Exchangis端的計畫;

    2. 工作流節點基本操作 是DSS編排器中對sqoop工作流節點建立,刪除,修改操作會同步到Exchangis端的任務;

    3. 工作流導數操作 支持sqoop工作流節點配置執行數據同步任務;

    4. 工作流釋出操作 支持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

    看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。