kettle實戰 1概覽 1 1ETL介紹

2021-09-18 04:58:52 字數 837 閱讀 6872

都說kettle是乙個etl工具,那就必須先介紹一下etl是個啥,etl是三個英文的首字母,分別代表抽取、轉換、載入,這個詞很久之前就有了,想知道細節的可以自行查詢,我們這裡講一些其它教程未做重點突出的部分。etl表述的是乙個過程,我們用乙個圖和換乙個描述來表示一下。

從圖上可以看出,其實就是乙個輸入資料,相應處理,再輸出的過程,這個過程對乙個程式開發人員來說,可以說再平常不過。我們設想乙個場景,前端頁面傳來乙個請求,附帶了一些資料,傳至後台程式進行較驗、加工處理,最後寫入資料庫中,其實這都是乙個etl的過程,如果按這個套的話,那幾乎所有程式都是如此了。確實有些概念的東西不必太深究,明白就可以了,我的理解etl在這裡其它一樣,但是乙個資料批量輸入、處理、輸出的過程,特別強調批量,高效,大家可以體會一下是不是這樣。

談到高效,就會涉及多執行緒,集群處理等概念。通俗講就是,一件工作由某工廠的乙個人幹太慢,那就多找些廠裡的人一起幹,如果覺得還慢,那就再加入另乙個工廠。至於工廠、人員不同的效率不同問題,那後面優化環節咱們再談。

批量的資料處理(以資料庫為例),就涉及到效率、事務等問題,我們都知道,資料庫操作中寫入,提交是兩個動作,寫入的條數可以是一條,也可以是多條,提交如果失敗,前面寫入的資料都不會成功,這樣如果前面是多條提交可能會使正確的資料也不能寫入。如果每一條都提交,效能又上不去,這裡面就需要根據實際的場景進行選擇。還會有多條記錄不同寫入或更新,需要同時成功,同時失敗這種情況。在etl中有乙個原則,不要過多考慮事務,除非特殊情況,因為事務和效率是矛盾關係的。

在後面的章節都會討論到kettle是如何應對上面的多執行緒、集群、批量、事務等問題。

kettle實戰 4 OMI介紹

我們使用kettle在實際專案應用中,會遇到一些kettle不方便處理的問題,比如想要定時排程執行某個任務時,kettle自帶的定時功能肯定是不能滿足要求了,它需要介面一直處在開啟狀態,會占用大量的資源,並且介面有崩潰的風險。當然也有替代方案,就是使用作業系統的計畫任務,不管是windows還是li...

Dubbo系列 1 概覽

學習rpc和服務化的東西,公司的rpc框架 看完之後,發現在擴充套件性方面做得不夠完美,學習下dubbo的原始碼。provider 服務提供方。consumer 服務消費方。registry 註冊中心。monitor 監控中心。container 服務執行容器。總體流程 提供方在啟動後,向註冊中心,...

Kettle相關文章索引(1)

kettle集群搭建 kettle資料匯出到另乙個資料庫,必須先建表結構嗎?嗯,資料匯入匯出 需要先把錶結構建立。你不知道的kettle學習筆記1 kettle詳解 你不知道的kettle學習筆記2 kettle的常用操作 你不知道的kettle學習筆記3 kettle資源庫 你不知道的kettle...