Kettle和ETL的基本構成

2022-02-17 01:58:48 字數 929 閱讀 5011

不多說,直接上乾貨!

這裡,我說的通俗易懂點,好方便大家的理解。

etl解決方案就像業務流程一樣,具有輸入、輸出,以及乙個或多個工作環節,處理步驟。同樣的,這些步驟也具有輸入和輸出,並可以執行將乙個輸人轉化為輸出的操作。

想一想,例如,在一家保險公司理賠部,門上有乙個大牌子,上面寫著理賠部,這就意味著它描述了部門的主要職責和業務:處理理賠。而在部門裡,你會發現每張辦公桌上或分部門可能有其自身的特點:健康保險理賠、汽車保險理賠、旅遊保險理賠,等等。當接納乙個理賠案件時,首先確定這個理賠將被哪個部門處理。然後部門辦公人員根據是杏有提供理賠必需的資訊來決定是否處理它,如果不符合的話,退回給提交者,並且給予說明。理賠處理的工作時間是每天早上9點到下午5點。

這個例子和etl處理過程非常相似:首先乙個驗證步驟去確定到達的或者被抽取的資料是哪種型別,然後資料被送到乙個特定轉換去處理。當轉換執行完後,資料將被傳遞到下乙個轉換或者乙個目標表,並在發生錯誤的情況下,被轉移到乙個錯誤處理流程進行處理。每個晚上凌晨3點,乙個排程程式開始此項任務並且直到所有資料被處理才結束。

你現在可能能對設計etl處理流程有乙個整體的認識了。從前面的例子可以推斷出,必須有某種機制來控制整個處理流程,以及實際轉換的細節工作。用kettle的術語闡述的話,前而部分稱為作業(job ),後面部分稱為轉換(transformation )。  

作業是etl解決方案的**,而轉換是基礎的構建兩部分。

獨立的轉換能夠被鏈結在一起形成乙個具有邏輯順序的佇列,形成乙個能被排程和執行的作業,就像乙個業務流程。同樣的,轉換也是由幾個步驟組成的。步驟是kettle解決方案的第三種基本構成塊,而步驟之間的連線關係由跳(hop)來決定。

Kettle中ETL的效率優化

如果我們想要優化乙個etl ktr或者kjb 的效能,我們首先需要知道的就是它的瓶頸在 而這些資訊一般只能在etl執行的步驟度量中看到,並且是不會持久化的。如果你希望把一些資料記錄下來,幫助以後進行查閱,那麼可以開啟資料庫日誌和效能監控。作業edit settings log具體設定過程就不細講了,...

關於使用ETL工具Kettle的簡單介紹(二)

該篇主要描述已實現的一種 etl過程 環境描述 由於源端的表結構和正式庫的表結構大部分是一一對應的,所以對於這大部分表進行設計了一套通用的過程進行轉換。現在先來描述該套設計,對於一對多和多對一的過程下章進行描述。設計概述 主要需要設計幾個所需的表,n 第乙個表 該表是用來配置源端表結構與目的端表結構...

開源ETL工具 kettle的使用入門介紹

首先,給大家介紹一寫關於etl的基本知識。etl是由三個詞組成的。分別是extract,transform,load 也就是抽取,轉換和載入。在現代網際網路企業中使用時比較頻繁的,在商業智慧型bi中也是很受歡迎的。常用的etl工具也有很多,比如infomatia,datastage,kettle,t...