java集成kettle kettle組件的使用



文章插圖
java集成kettle kettle組件的使用

文章插圖
概述
Row normaliser(行轉列)此步驟將輸入流的行轉換為列 。可以使用此步驟對列的重復組進行規范化 。
選項
行轉列
Row normaliser(行轉列))步驟有以下選項:
Step name(步驟名稱):在畫布上指定Row normaliser(行轉列)步驟的唯一名稱 。您可以自定義名稱或將其保留為默認名稱 。
Type field(Type字段):指定輸出數據中的新列的名稱 。
字段
Fieldname(字段名稱):要規范化的字段的名稱 。
Type(Key值):指定用于對字段進行分類的字符串 。
new field(Value字段):指定要在其中傳輸新值的字段 。
Get Fields(獲取字段):檢索流中傳入的所有字段的列表 。
示例
示例采用一個欄目的每月訪問量統計數據為基礎演示數據,把欄目每月訪問量一行數據轉換以月為列的多行數據 。
/*欄目每月訪問量統計表*/DROP TABLE IF EXISTS `catalog_traffic`;CREATE TABLE `catalog_traffic` (`catalogid` VARCHAR(10) NOT NULL COMMENT '欄目編號',`catalogname` VARCHAR(20) DEFAULT NULL COMMENT '欄目名稱',`month1` BIGINT DEFAULT 0 NOT NULL COMMENT '1月訪問量',`month2` BIGINT DEFAULT 0 NOT NULL COMMENT '2月訪問量',`month3` BIGINT DEFAULT 0 NOT NULL COMMENT '3月訪問量',`month4` BIGINT DEFAULT 0 NOT NULL COMMENT '4月訪問量',`month5` BIGINT DEFAULT 0 NOT NULL COMMENT '5月訪問量',`month6` BIGINT DEFAULT 0 NOT NULL COMMENT '6月訪問量',`month7` BIGINT DEFAULT 0 NOT NULL COMMENT '7月訪問量',`month8` BIGINT DEFAULT 0 NOT NULL COMMENT '8月訪問量',`month9` BIGINT DEFAULT 0 NOT NULL COMMENT '9月訪問量',`month10` BIGINT DEFAULT 0 NOT NULL COMMENT '10月訪問量',`month11` BIGINT DEFAULT 0 NOT NULL COMMENT '11月訪問量',`month12` BIGINT DEFAULT 0 NOT NULL COMMENT '12月訪問量',PRIMARY KEY (`catalogid`)) ENGINE=INNODB DEFAULT CHARSET=utf8;insertinto `catalog_traffic`(`catalogid`,`catalogname`,`month1`,`month2`,`month3`,`month4`,`month5`,`month6`,`month7`,`month8`,`month9`,`month10`,`month11`,`month12`) values ('1','欄目1',166,676,8009,445,9900,909,909,345687,78734,7676,34434,3434);insertinto `catalog_traffic`(`catalogid`,`catalogname`,`month1`,`month2`,`month3`,`month4`,`month5`,`month6`,`month7`,`month8`,`month9`,`month10`,`month11`,`month12`) values ('2','欄目2',767,676,545,454,9009,334,557,9033,343,56565,2323,34443);1.建立數據庫連接對象
示例采用mysql數據庫作為示例,首先下載mysql驅動https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.47,然后放在在文件夾data-integrationlib下 。然后重啟Spoon 。如果已經添加過mysql驅動,則可由忽略此步驟 。
切換至主對象樹,雙擊DB連接 。
添加DB連接
然后選項連接類型為mysql,并維護相關的鏈接信息 。
維護數據庫連接
連接信息維護完之后,點擊測試,測試連接是否成功 。
2.獲取欄目每個月訪問量統計表catalog_traffic數據作為數據輸入源 。
添加一個表輸入步驟,數據庫連接上面創建的DB連接名稱demo,然后從獲取SQL查詢語句中選擇表catalog_traffic,即可 。
最后點擊預覽,預覽結果數據 。
預覽數據
3.添加轉換中的行轉列步驟,并配置行轉列選項
添加一個轉換中的行轉列 。并建立從表輸入到行轉列的一個節點連接 。
建立節點連接
在行轉列配置key字段為month,然后獲取點擊獲取字段,保留month1…month12,作為行專列字段,然后對應的key值為1…12,為對應月份的值 。Value的值設置為:count 。
【java集成kettle kettle組件的使用】最后保存并點擊運行 。