kettle從入門到精通 第六十課 ETL之kettle for循環處理每條數據,so easy!

1、kettle原生是支持for循環處理的,無需通過javascript腳本或者java腳本開發for循環控制。當然如果想通過腳本挑戰下也是可以的。

本節課主要講解如何通過kettle中的job來實現for循環控制,如下圖所示:

1)步驟【設置變量】設置單個job級別的變量。

2)步驟【轉換】加載數據集清單列表,返回一個dataList。

3)步驟【轉換】處理當條數據,此步驟也是今天要講解的重點步驟。

2、步驟【轉換】處理當條數據,要想循環處理list中的每一條數據,一定要勾選“執行每一個輸入行”,如下圖所示:

 3、步驟【設置變量】這一步根據業務場景可以選擇是否添加,如果後面兩個步驟都需要用到變量的話,可以添加設置變量。

 4、加載數據清單子轉換如下,通過自定義常量步驟生成兩條數據,複製紀錄到結果可以將結果傳遞到下個步驟。

5、單條處理子轉換如下,通過自定義常量步驟生成兩條數據,從結果獲取紀錄可以將上一步結果傳遞到當前步驟。

6、不通過job,單獨通過轉換也可以實現for循環控制,如下圖所示:

 7、轉換和job中的單條處理設置大同小異,轉換時設置Row grouping中的Number of rows to send transformation爲1。

 留個懸念:這個參數也會涉及到性能調優,大家可以嘗試下,歡迎評論區討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章