Datax 3.x 處理Kylin數據同步到ES

好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受.

目錄

01-datax 安裝

02-添加插件

03-kylin插件

04-配置運行任務

05-同步結果


 路漫漫其修遠兮,吾將上下而求索

如何基於Datax 3.x實現 kylin數據同步到ES的操作,具體可以分爲如下幾步。對於不熟悉datax的,可以去https://github.com/alibaba/DataX 

查閱關於datax的介紹或者是去baidu上搜索瞭解下。

01-datax 安裝

去https://github.com/alibaba/DataX下載解壓並安裝好datax。

如有不會的,可以去google。datax的運行基於python,版本最好是:2.7+ ,所以要想很快速的運行datax 最好在相應的機器上安裝上python,當然java運行環境必須有,不多說。

 

02-添加插件

      默認datax是沒有elasticsearch的運行插件的,需要去下載源碼,進行手動編譯插件,在 https://github.com/alibaba/DataX 上下載 datax-master,使用IDE工具打開源碼,執行maven命令:

mvn clean install -Dmaven.test.skip=true           

複製/elasticsearchwriter/target/datax/plugin/writer/elasticsearchwriter

目錄到datax的plugin目錄下,並其放入到writer文件夾裏面。如下圖所示:

 

這裏面都是datax 的plugin下的wrtier目錄下的寫插件集合。

 

03-kylin插件

 

      原始的datax是不能夠操作kylin數據源的,這個可以在datax的開源地址可以查看的到: https://github.com/alibaba/DataX ,但是kylin是支持使用標準jdbc 方式來訪問的,所以就可以使用datax提供的rdbmsreader 和 rdbmswriter 來往kylin裏面灌入數據。

       既然是使用標準的jdbc方式操作kylin,那麼必須要有相應的jdbc的jar文件纔可以,去  https://mvnrepository.com/  搜索kylin-jdbc,就可以找到目前最新的版本。

       在datax的源碼上,找到 rdbmsreader 和 rdbmswriter , 添加上kylin-jdbc的

maven配置,因爲是要打jar文件,最好的辦法就是把依賴的jar一併打過去,所以配置文件如下所示:

同理,writer的也是一樣的,這就不過多複述。

       在配置好這些之後,執行 maven 插件的打包命令,進行rdbmsreader 和

rdbmswriter 的插件打包操作:mvn clean install -Dmaven.test.skip=true

複製/rdbmswriter/target/datax/plugin/writer/rdbmswriter

目錄到datax的plugin目錄下,並其放入到writer文件夾裏面。如下圖所示:

      同理,rdbmsreader 的插件獲取和writer 是一樣的,只是需要注意把位置都放正確就是了。在此不做複述。

04-配置運行任務

 

       在es插件和rdbms的插件都配置好之後, 接下來就需要將同步kylin到es的同步任務配置好,既:使用 datax 做數據同步的json文件配置好,配置文件的具體信息如下圖所示:

由於屏幕的關係,截圖截成了兩張,但是意思很明確,就是要做把可執行的json構建出來。

05-同步結果

使用xxl-job做任務定製,將執行同步的任務和json關聯起來,執行完成,查看執行的結果,結果如下圖所示:

如圖,datax做了同步任務的日子記錄和同步結果,可以去kibana上查看同步數據的具體細節,如下圖:

如此五步驟,就可以將datax同步kylin數據到es的操作完成。雖然看似就這幾步,但是在通向成功的道路上遇到了很多錯誤和問題,這就不一一列出。只要按照這幾步來操作,就可以將數據同步到es中去。

      同理,如果是其他的,符合jdbc操作的數據同步,也可以使用rdbms來操作,只是同樣需要添加所依賴,並注意其中的細節。

ES同步可以參考:https://www.jianshu.com/p/7d08f91fc0be

發佈了197 篇原創文章 · 獲贊 347 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章