每日干貨好文分享丨請點擊+關注
歡迎關注天善智能微信公眾號,我們是專注於商業智能BI,大數據,數據分析領域的垂直社區。
對商業智能BI、大數據分析挖掘、機器學習,python,R等數據領域感興趣的同學加微信:tstoutiao,邀請你進入頭條數據愛好者交流群,數據愛好者們都在這兒。
有的時候,我們想要在Kettle中實現這個循環的功能,比如,批量加載數據的時候,我們要對10張表執行同樣的操作,只有表名和一些信息不一樣,這時,寫個循環就省事兒多了
1. 遍歷結果集實現
這裡的話,我們主要是通過一個將結果集返回,然後通過轉換的設置來實現的
1.1 query_the_result
這個轉換,只要是將我們要遍歷的結果集返回,
表輸入,我們就是返回了5條記錄,來做遍歷
複製記錄到結果,這個控件的作用,就是我們可以在後面的轉換繼續使用這個結果集。
1.2 traverse_the_result
這裡呢,我們就是需要遍歷的轉換了,這裡,我們只是獲取結果集,然後將結果集輸出
還有一個很重要的一步,怎樣讓這個轉換可以根據結果集的條數,去循環執行呢?
就是這個“執行每一個輸入行”
我們執行下看看
2. 使用JS實現
網上有很多的例子,介紹怎樣用JS來控制循環,這裡我們也簡單的測試下
2.1 query_the_result
這一步,和上面的一樣,就是將結果集返回
2.2 travers_the_result
這裡主要是使用JS將結果集進行遍歷,通過JS,將一些結果存放到變量裡面,在後面的操作中就可以使用了,通過${xxx}的方式使用
這個其實和Java、JS裡面循環思路一樣,通過結果集的總數“total_num”和下標“LoopCounter”進行判斷
2.3 evaluate_the_loop_count
這一步,就是判斷下標的值和結果集的總數,進行對比,
2.4 print_the_log
輸出下,我們想要使用的變量
2.5 manage_the_loop_index
這一步,給下標加一,然後獲取下一條記錄
好了,執行下,我們看看
好了,循環的使用先介紹到這裡
天善學院—手把手教你使用開源ETL工具kettle
https://edu.hellobi.com/course/37
對商業智能BI、大數據分析挖掘、機器學習,python,R等數據領域感興趣同學加微信:tstoutiao,邀請您加入頭條數據愛好者交流群,數據愛好者們都在這兒。
本文來源自天善社區yuguiyang1990的博客。
原文鏈接:https://ask.hellobi.com/blog/yuguiyang1990/6971 。