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

Kettle版本:3.2GA

JDK版本:1.6.0_41

OSNT

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

Kettle用戶手冊下載 

本彈給大家詳細說明的組件:表輸入、獲取系統信息、表輸出、字符選擇、過濾記錄、執行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%%

 

 

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

下載Kettle用戶手冊

發佈了37 篇原創文章 · 獲贊 54 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章