1、 Kettle介紹
1. Kettle簡介
ETL即數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程。Kettle的中文翻譯爲水壺。Kettle以元數據驅動的方式提供強大的抽取、轉換和加載(ETL) 能力。自己提供了強大的圖形界面設計器,能夠大大縮短數據抽取項目的開發週期,而且容易維護。 Kettle設計器界面友好,提供了工做流設計模式,能知足各類場景的實現。數據庫
2. Kettle的模型架構設計模式
3. Kettle的優勢微信
1) 支持多種數據源;
2) 支持多任務併發,支持大數據量的抽取轉換處理,執行效率高;
3) 成熟的異常處理流程;
4) 可與Java應用很好結合。架構
4. Kettle的擴展性
Kettle的控件採用插件式開發模式,所以自己就具有了很好的擴展性,支持插件式開發。插件式開發能夠提升應用的可用性,插件能夠單獨更新與升級。併發
2、 實施方案
1. 數據更新流程
示例方案的部署圖以下:大數據
經過部署在各個節點的監聽觸發器監聽各個節點的業務表數據狀態,當有數據更新時,觸發器會將記錄此部分數據,並將源節點名稱和應抽取數據的表名等參數傳遞到ETL調度程序,ETL調度程序經過表名調度ETL腳本,將此節點的未抽取狀態的增量數據抽取到目標數據庫中,執行結束後將返回值參數傳遞給觸發器更新數據狀態。spa
2. 新增節點
新增節點時,將源節點的數據庫配置(數據庫名,表空間名,用戶名,密碼等信息)配置到相應的調度表中,在源數據庫中配置監聽觸發器,人工手動執行腳本將新增節點的業務表的全量數據抽取到目標表中便可。插件
3. 問題處理
在調度程序中存在一種配置即當因爲斷網致使ETL腳本報錯時,將腳本復位至執行前的狀態並靜置一段時間(時間可配置)後再次執行腳本,直到腳本運行成功。因爲斷網致使ETL腳本報錯時,本次運行成功抽取到數據庫中的數據回滾,等到下一次運行時從新抽取該數據。翻譯
<!-- Start -->設計
獲知及時信息,請關注個人我的微信訂閱號:0與1的那點事
<!-- End -->
本文爲博主原創文章,轉載請註明出處!
http://www.cnblogs.com/libingbin/
感謝您的閱讀。