kettle組件學習

文本文件輸入(text input):讀取大量不同的文本文件。大多是通過工具生成的CSV文件。
表輸入(table Input):常用來利用連接和SQL,從數據中讀取信息,自動生成基本的SQL語句。
獲取系統信息(get system info):這個步驟從 Kettle 環境中獲取信息。
生成行(Generate Rows ):這個步驟輸出一定數量的行,缺省爲空。可選包括一定數量的靜態字段。
Cube輸入(文件反序列化)(De-serialize from file):從二進制 Kettle Cube 文件中讀取數據行。 備註:這個步驟僅僅用來存儲短期數據。不同版本之間不保證文件的格式一樣。
XBase輸入: 使用這一步可以讀取大多數被稱爲 XBase family派生的 DBF文件。
Excel輸入:利用這個步驟可以從 Kettle 支持的系統的 Excel文件裏面讀取數據。
XML輸入:這個步驟允許你讀取存儲在 XML 文件中的數據。它也提供一個接口,你可以定義你想讀取的文件名、XML 文件的數據重複部分、獲取的字段等。你可以指定元素或屬性字段。
獲取文件名(Get File Names):這個步驟可以獲取系統的文件名信息。
文本文件輸出(Text File Output):
表輸出(Table output):這個步驟可以存儲信息到數據庫表中。
插入/更新(Insert/Update):這個步驟利用查詢關鍵字在表中搜索行。如果行沒有找到,就插入行。如果能被找 到,並且要被更新的字段沒有任何改變,就什麼也不做。如果有不同,行就會被更新。
更新(Update ):這個步驟類似於插入/更新步驟,除了對數據表不作插入操作之外。它僅僅執行更新操作。
刪除(Delete):這個步驟類似於上一步,除了不更新操作。所有的行均被刪除。
Cube output(序列化到文件)(Serialize to file):這一步驟存儲數據到一個二進制文件。這個步驟有個優勢就是回讀的時候,文本文件的內容不需要解析。這是因爲元數據也同時存儲在 CUBE 文件裏面。
XML輸出:這個步驟允許你從源中寫入行到一個或者多個 XML 文件。
EXCEL輸出:利用這個步驟,在 Kettle 支持的系統中,你可以寫入數據到一個或者多個Excel 文件中。
Access 輸出(Microsoft Access Output): 允許你在轉換中創建一個新的 Access 數據庫文件作爲輸出。
數據庫查詢(Database lookup):這個步驟類型允許你在數據庫表中查找值。
流查詢(Stream lookup):這個步驟類型允許你從其它步驟中查詢信息。首先,“源步驟”的數據被讀到內存中,然後被用來從主要的流中查詢數據。
調用數據庫存儲過程(Call DB Procedure):這個步驟允許你運行一個數據庫存儲過程,獲取返回結果。
HTTP 客戶端(HTTP Cient):HTTP 客戶端根據一個附帶條件的基準 URL,來調用一個簡單的調用。
字段選擇  (Select values) :這個步驟常常用來 選擇字段  重命名字段  指定字段的長度或者精度  
下面是三個不同標籤的功能:  
         選擇和修改:指定需要流到輸出流中的字段的精確順序和名稱  
         刪除:指定必須從輸出流中刪除的字段  
         元數據:修改元數據字段的名稱、類型、長度和精度  
過濾記錄(Filter rows):這個步驟允許你根據條件和比較符來過濾記錄。 一旦這個步驟連接到先前的步驟中,你可以簡單的單擊“<field>”,“=”和“<value>” 區域來構建條件。  
排序記錄(Sort rows):這個步驟利用你指定的字段排序行,無論他們是按照升序還是降序。
備註:當行數超過 5000 行的時候,Kettle 使用臨時文件來排序行。
添加序列(Add sequence):這個步驟在流中增加一個序列。一個序列是在某個起始值和增量的基礎上,經常改變的整數值。你可以使用數據庫的序列,也可以使用 Kettle 決定的序列。
備註:Kettle 序列在同一個轉換中是唯一使用的。每一次轉換運行的時候,序列的值又會重新循環一次(從開始值開始)
空操作-什麼都不做(Dummy-do nothing):這個操作什麼都不做。它的主要作用是,在你想測試什麼的時候,充當一個佔位符。例如有一個轉換,你至少需要兩個彼此連接的步驟。如果你想測試文本文件輸入步驟,你可以將它連接到一個 Dummy 步驟。
行轉列(Row Normaliser):這個步驟轉動表,標準化數據。
拆分字段(Split Fields):這個步驟允許你根據分隔符來拆分字段。
去除重複記錄(Unique rows):這個步驟從輸入流中稱移除重複的記錄。
分組(Group By):這個步驟允許你通過定義分組的字段來計算值。
例如:計算產品的平均銷售額,獲取庫存的黃色襯衫的數量等等。
設置爲空值(Null if):如果某個字符串的值等於指定的值,設置那個值爲空。
計算器(Calculator ):這個步驟提供一個功能列表,可以在字段值上運行。
計算器的一個重要優勢是,它有着幾倍於常用的 JavaScript 腳本的速度。
增加 XML (XML Add ):這個步驟允許你將在 XML 中的行字段內容編碼,XML 以字符串字段的形式添加到行中。
增加常量(Add constants ):這個步驟很簡單,主要是添加常量到流中。
它的使用也很容易:用字符串形式指定名稱,類型和值。利用選擇的數據類型指定轉換格式。
行轉列(Row Denormaliser ):這個步驟允許你通過查詢鍵值對來反向規格化數據。也可以立即轉換數據類型。
行扁平化(Flattener ):這個步驟允許你扁平化預備的數據。
值映射(Value Mapper ):這個步驟簡單的映射字符串,從一個值映射到另一個值。通常你想解中轉換表的問題,不管怎麼說,這是一種可選的方案:簡單的將轉換表作一部分。
例如:如果你想替換 Language codes,你可以:
使用的字段名:LanuguageCode 目標字段名:LanguageDesc
源值/目標值:EN/English,FR/French,NL/Dutch,ES/Spanish,DE/German,…
被凍結的步驟(Blocking step ):它凍結所有的輸出,直到從上一步驟來的最後一行數據到達,最後一行數據將發送到下一步。你可以使用這個步驟觸發常用插件、存儲過程和 Java Script等等。
記錄關聯(笛卡爾輸出)(Join Rows-Cartesian Product ):這個步驟允許你組合輸入流中的所有行(笛卡爾輸出)。
數據庫連接(Database Join ):這個步驟允許你使用先前步驟的數據,運行一個數據庫查詢。
能夠指定查詢參數:在 SQL 查詢中使用“?” ; 在 SQL 查詢中使用數據網格中的字段
合併記錄(Merge rows ):這個步驟允許你比較兩個行流。如果你想在兩個不同的時間比較比較數據,這是非常有用的。它常被用於數據倉庫源系統沒有包含最後更新日期的情況。
兩個行流被合併,一個是引用流(舊數據),一個比較流(新數據)。每次都是行的最後版本通過進入下一步驟。行有以下標記:
“identical”:關鍵字在兩個流中都存在,並且值相同
“changed”: 關鍵字在兩個流中都存在,但是一個或者更多的值不同
“new”:引用流中沒有找到關鍵字
“deleted”: 比較流中沒有找到關鍵字
比較流中的數據進入下一步驟,除非在“刪除“的情況。
存儲合併(Stored Merge ):這個步驟合併來自多個輸入步驟的數據行,並且這些行用指定的關鍵字排序。
合併連接(Merge Join) :這個步驟將來自兩個不同的步驟輸入的數據執行一個高效的合併。合併選項包括INNER、LEFT OUTER、RIGHT OUTER、FULL OUTER。
備註:這個步驟將輸入的行按指定的字段存儲
Java Script 值(Java Script Value ):這個步驟允許你用 JavaScript 語言做複雜的運算。使用的 JavaScript 引擎是 Rhino 1.5R5。
改進的 Java Script 值(Modified Java Script Value ):這個步驟是“Javascript Values”的進改版本,它可以提供更好的效率,也更容
易使用。
執行 SQL 語句(Execute SQL script ):在這個步驟中你可以執行 SQL 腳本,或者在轉換初始化的時候執行,或者在步驟的每一個輸入行執行。
維度更新/查詢(Dimension lookup/update ):
聯合更新/查詢(Combination lookup/update ):這個步驟允許你在一個 junk-dimesion 表裏存儲信息。
映射(Mapping ):如果你希望某個轉換多次運行,你可以將重複的部分添加到一個映射中。映射是一個這樣的轉換:指定輸入如何從映射輸入中到達 ;指定輸入字段如何轉換:字段被添加或者刪除
從結果獲取記錄(Get rows from result ):這個步驟返回在一個任務中先前步驟生成的行。你可以進入選擇先前步驟生成的元數據字段。
複製記錄到結果(Copy rows to result ):這個步驟允許你在一個任務中將行數據(內存中的)傳遞到下一個步驟
設置變量(Set Variable):這個步驟允許你在一個任務中或者虛擬機中設置變量。它僅僅可以用一行數據來設置變量值。
獲取變量(Get Variable ):這個步驟允許你獲取一個變量,它可以返回行或者附加值到輸入行。
備註:你需要指定完整的變量格式${variable}或者%%variable%%。
從以前的結果獲取文件(Get files from result ):每次在轉換、任務、文件細節、任務條目、步驟等處理、使用或者創建一個文件時,文件被捕獲並且附加到結果中。你可以使用這個步驟訪問那些信息。
複製文件名到結果(Set files in result):在某種情況下,我們可以操縱輸出結果中的文件列表。例如 mail 任務條目可以使用文件列表來關聯郵件,可能你不需要發送所有的文件,你可以在此步驟中指定你想要發送的郵件。
記錄注射器(Injector ):注射器主要是針對以下人使用:想利用 Kettle API 和 JAVA 來注射記錄到轉換中。
套接字讀入器(Socket Reader):套接字讀入器是通過 TCP/IP 協議將數據從一個服務器向另一個服務器傳輸。
套接字輸寫器(Socket Writer):套接字輸寫器是通過 TCP/IP 協議將數據從一個服務器向另一個服務器傳輸。
聚合行(Aggregate Rows ):這個步驟允許你在所有行的基礎上快速的聚集行。
流 XML 輸入(Streaming XML Input):這個步驟主要提供值的解析,它信賴於 SAX 解析器,在大文件解析上能提供更好的性能。
它與 XML 輸入非常相似,僅僅在內容和字段製表符上略有不同。
中止(Abort ):這個步驟允許你在觀察輸入的時候中止步驟。它的主要用途是錯誤處理,在一定數量的行流過錯誤的連接時中止轉換。
Oracle 批量裝載(Oracle bulk loader ):這個步驟允許你大批量加載數據到 Oracle 數據庫,它將用一個正確的裝載格式,然後調用 Oracle 的 SQL*Loader 數據加載工具加載到指定的表中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章