1. 程式人生 > >【Kettle從零開始】第五彈之Kettle轉換中常用元件介紹

【Kettle從零開始】第五彈之Kettle轉換中常用元件介紹

Kettle版本:3.2GA

JDK版本:1.6.0_41

OSNT

由於元件涉及非常多,我這就只舉例幾個常用的元件來進行介紹。需要了解全部元件下載

本彈給大家詳細說明的元件:表輸入、獲取系統資訊、表輸出、字元選擇、過濾記錄、執行SQL語句、設定變數、獲取變數

表輸入(Table Input

螢幕截圖

圖示

功能說明

常用來利用連線和 SQL,從資料庫中讀取資訊。自動生成基本的 SQL語句。

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

資料庫連線

讀取資料的資料庫連線

SQL

SQL 語句用來從資料庫連線中讀取資料

允許延遲載入

替換SQL語句裡的變數

替換SQL語句中的變數名

從步驟插入資料

指定我們期待讀取資料的步驟名稱。這些資訊能被插入到 SQL語句

記錄數限制

設定從資料庫中讀取的行數。0 所有行

獲取系統資訊(GetSystem Info

螢幕截圖

 

圖示

功能說明

這個步驟從 Kettle環境中獲取資訊。

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

名稱

引數名稱

型別

獲取日期、轉換資訊、命令列引數等。

表輸出(Table Output

螢幕截圖

圖示

功能說明

這個步驟可以儲存資訊到資料庫表中。

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

資料庫連線

用來寫資料的資料庫連線

目標模式

要寫資料的表的 Schema的名稱。允許表名中包含“.”對資料來源來說是很重要的。

目標表

要寫資料的表名

提交記錄數量

在資料表中用事務插入行。如果 N 0大,每 N行提交一次連線。否則,不使用事務,速度會慢一些。

裁剪表

在插入資料之前清除目標表資料

忽略插入錯誤

使 Kettle忽略比喻違反主鍵約束之類的插入錯誤,18個警告將被日誌記錄。在批量插入的時候這個功能不可用。

使用批量插入

如果你想批量插入的話,就使用這個選項。這個選項的速度最快,預設被選上。

表分割槽資料

使用這個選項可以在多個表之間拆分資料。例如用把資料放到表

SALES_200510, SALES_200511SALES_200512中來代替直接插入資料到表 SALES 中。

表名定義在一個欄位裡

使用這些選項可以拆分資料到一個或者多個表裡,目標表名可以用你指定的欄位來定義。例如如果你想儲存顧客性別資料,這些資料可能會儲存到表 M和表 F裡面(female女性和 male男性表)。這個選項可以阻止這些欄位插入到對應的表裡。

返回一個自動產生的關鍵字

往表中插入行時,是否產生一個關鍵字

自動產生關鍵字的欄位名稱

指定包含關鍵字的輸出欄位的欄位名稱

SQL

根據源表表結構生成自動建立輸出表的 SQL指令碼

欄位選擇Select values

螢幕截圖

圖示

功能說明

這個步驟常常用來:

選擇欄位、重新命名欄位、指定欄位的長度或者精度

下面是三個不同標籤的功能:

選擇和修改:指定需要流到輸出流中的欄位的精確順序和名稱

刪除:指定必須從輸出流中刪除的欄位

元資料:修改元資料欄位的名稱、型別、長度和精度

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

改名:如果不想改名,就使用空白

長度:輸入數字指定長度(-1:代表沒有長度指定)

精度:輸入數字指定精度(-1:代表沒有精度指定)

過濾記錄(Filterrows

螢幕截圖

圖示

功能說明

這個步驟允許你根據條件和比較符來過濾記錄。一旦這個步驟連線到先前的步驟中,你可以簡單的單擊“<field>”“=”和“<value>”,區域來構建條件

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

傳送“true”資料給步驟:指定條件返回 true的資料將傳送到此步驟。

傳送“false”資料給步驟:指定條件返回 false的資料將傳送到此步驟。

執行SQL語句(ExecuteSQL script

螢幕截圖

圖示

功能說明

在這個步驟中你可以執行 SQL指令碼

元件說明

選項

描述

步驟名稱

步驟的名稱,在單一的步驟中,名稱必需唯一

執行每一行

步驟的每一個輸入行執行

變數替換

可以在 SQL指令碼中使用引數

設定變數(SetVariable

螢幕截圖

圖示

功能說明

這個步驟允許你在一個任務中或者虛擬機器中設定變數。它僅僅可以用一行資料來設定變數值。

下面是可以用的範圍設定:

Valid in the virtual machine:整個虛擬機器將知道那個變數,僅可以在單機模式下執行。

Valid in the parent job:變數僅在父任務中合法的。

Valid in the grand-parent job:變數僅在祖父任務中合法的。

Valid in the root job: 變數僅在根任務中合法的。

獲取變數(GetVariable

螢幕截圖

圖示

功能說明

這個步驟允許你獲取一個變數,它可以返回行或者附加值到輸入行。

備註:你需要指定完整的變數格式${variable}或者%%variable%%

如須瞭解更多元件使用方法