java新手代碼大全:kettle java代碼組件

概述

Row normaliser(行轉列)此步驟將輸入流的行轉換為列。可以使用此步驟對列的重複組進行規範化。

選項

Kettle(PDI)轉換中轉換之行轉列詳解

行轉列

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;
insert  into `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);
insert  into `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連接。Kettle(PDI)轉換中轉換之行轉列詳解

添加DB連接

然後選項連接類型為mysql,並維護相關的鏈接信息。Kettle(PDI)轉換中轉換之行轉列詳解

維護資料庫連接

連接信息維護完之後,點擊測試,測試連接是否成功。

2.獲取欄目每個月訪問量統計表catalog_traffic數據作為數據輸入源。

添加一個表輸入步驟,資料庫連接上面創建的DB連接名稱demo,然後從獲取SQL查詢語句中選擇表catalog_traffic,即可。

Kettle(PDI)轉換中轉換之行轉列詳解

最後點擊預覽,預覽結果數據。Kettle(PDI)轉換中轉換之行轉列詳解

預覽數據

3.添加轉換中的行轉列步驟,並配置行轉列選項

添加一個轉換中的行轉列。並建立從表輸入到行轉列的一個節點連接。Kettle(PDI)轉換中轉換之行轉列詳解

建立節點連接

在行轉列配置key欄位為month,然後獲取點擊獲取欄位,保留month1…month12,作為行專列欄位,然後對應的key值為1…12,為對應月份的值。Value的值設置為:count。

Kettle(PDI)轉換中轉換之行轉列詳解

最後保存並點擊運行。

Kettle(PDI)轉換中轉換之行轉列詳解
Kettle(PDI)轉換中轉換之行轉列詳解

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/225563.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:45
下一篇 2024-12-09 14:45

相關推薦

發表回復

登錄後才能評論