Kettle手冊(八)-循環

大數據 機器學習 移動互聯網 Python 天善智能 2017-04-07

每日干貨好文分享丨請點擊+關注

歡迎關注天善智能微信公眾號,我們是專注於商業智能BI,大數據,數據分析領域的垂直社區。

對商業智能BI、大數據分析挖掘、機器學習,python,R等數據領域感興趣的同學加微信:tstoutiao,邀請你進入頭條數據愛好者交流群,數據愛好者們都在這兒。

有的時候,我們想要在Kettle中實現這個循環的功能,比如,批量加載數據的時候,我們要對10張表執行同樣的操作,只有表名和一些信息不一樣,這時,寫個循環就省事兒多了

1. 遍歷結果集實現

Kettle手冊(八)-循環

這裡的話,我們主要是通過一個將結果集返回,然後通過轉換的設置來實現的

1.1 query_the_result

這個轉換,只要是將我們要遍歷的結果集返回,

Kettle手冊(八)-循環

表輸入,我們就是返回了5條記錄,來做遍歷

Kettle手冊(八)-循環

複製記錄到結果,這個控件的作用,就是我們可以在後面的轉換繼續使用這個結果集。

1.2 traverse_the_result

這裡呢,我們就是需要遍歷的轉換了,這裡,我們只是獲取結果集,然後將結果集輸出

Kettle手冊(八)-循環

Kettle手冊(八)-循環

還有一個很重要的一步,怎樣讓這個轉換可以根據結果集的條數,去循環執行呢?

就是這個“執行每一個輸入行”

Kettle手冊(八)-循環

我們執行下看看

Kettle手冊(八)-循環

2. 使用JS實現

網上有很多的例子,介紹怎樣用JS來控制循環,這裡我們也簡單的測試下

Kettle手冊(八)-循環

2.1 query_the_result

這一步,和上面的一樣,就是將結果集返回

Kettle手冊(八)-循環

2.2 travers_the_result

這裡主要是使用JS將結果集進行遍歷,通過JS,將一些結果存放到變量裡面,在後面的操作中就可以使用了,通過${xxx}的方式使用

這個其實和Java、JS裡面循環思路一樣,通過結果集的總數“total_num”和下標“LoopCounter”進行判斷

Kettle手冊(八)-循環

2.3 evaluate_the_loop_count

這一步,就是判斷下標的值和結果集的總數,進行對比,

Kettle手冊(八)-循環

2.4 print_the_log

輸出下,我們想要使用的變量

Kettle手冊(八)-循環

2.5 manage_the_loop_index

這一步,給下標加一,然後獲取下一條記錄

Kettle手冊(八)-循環

好了,執行下,我們看看

Kettle手冊(八)-循環

好了,循環的使用先介紹到這裡

天善學院—手把手教你使用開源ETL工具kettle

https://edu.hellobi.com/course/37

Kettle手冊(八)-循環

對商業智能BI、大數據分析挖掘、機器學習,python,R等數據領域感興趣同學加微信:tstoutiao,邀請您加入頭條數據愛好者交流群,數據愛好者們都在這兒。

Kettle手冊(八)-循環

本文來源自天善社區yuguiyang1990的博客。

原文鏈接:https://ask.hellobi.com/blog/yuguiyang1990/6971 。

相關推薦

推薦中...