Java向kettle8.0傳遞參數(shù)的方式總結(jié)
1.傳遞參數(shù)到轉(zhuǎn)換中
1.1. 通過設(shè)置Trans的variable的key、value值
1.2. 源碼中,直接將我們的key、value存放到了全局的properties中
1.3. 在轉(zhuǎn)化中可直接通過EL表達(dá)式獲取參數(shù):${yourkey}
1.4. 通過設(shè)置轉(zhuǎn)換中的parameterValue的key、value值
1.5. params是從我們定義的命名參數(shù)中解析的map
1.6. 命名參數(shù)的key必須和我們傳入的key值向同才能將value值存放至params中,在kettle中同樣通過EL表達(dá)式獲取數(shù)據(jù)${yourkey}
2.傳遞參數(shù)到作業(yè)中
2.1. 通過設(shè)置全局的properties將我們的參數(shù)傳遞給kettle,如果作業(yè)中包含了轉(zhuǎn)換,需要保證key值不能沖突
2.2. 通過設(shè)置JobMeta的parameterValue可將參數(shù)傳遞給kettle,創(chuàng)建JobMeta時kettle會解析對應(yīng)得xml格式的.kjb文件,并初始化命名參數(shù)的map,創(chuàng)建Job對象kettle并不會像創(chuàng)建Trans那樣將TransMeta中的命名參數(shù)復(fù)制給Trans,所以此時的Job中的命名參數(shù)size為0,如果通過job.setParameterValue()函數(shù)并不能將我們的參數(shù)傳遞給kettle。
2.3. kettle源碼中,初始value值為空字符串,需要在job中設(shè)定命名參數(shù)的變量名作為key值才能將自己的參數(shù)對應(yīng)傳遞給kettle,接下來在對應(yīng)需要使用的地方用EL表達(dá)式即可獲取${yourkey}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中LinkedHashSet、LinkedHashMap源碼詳解
這篇文章主要介紹了Java中LinkedHashSet、LinkedHashMap源碼詳解,LinkedHashMap是一個以雙向鏈表的方式將Entry節(jié)點鏈接起來的HashMap子類,它在HashMap的基礎(chǔ)上實現(xiàn)了更多的功能,具有順序存儲和遍歷的特性,需要的朋友可以參考下2023-09-09MyBatis Generator配置生成接口和XML映射文件的實現(xiàn)
本文介紹了配置MBG以生成Mapper接口和XML映射文件,過合理使用MBG和自定義生成策略,可以有效解決生成的Example類可能帶來的問題,使代碼更加簡潔和易于維護(hù)2025-02-02java 字符串轉(zhuǎn)化為字符數(shù)組的3種實現(xiàn)案例
這篇文章主要介紹了java 字符串轉(zhuǎn)化為字符數(shù)組的3種實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java并發(fā)教程之Callable和Future接口詳解
Java從發(fā)布的第一個版本開始就可以很方便地編寫多線程的應(yīng)用程序,并在設(shè)計中引入異步處理,這篇文章主要給大家介紹了關(guān)于Java并發(fā)教程之Callable和Future接口的相關(guān)資料,需要的朋友可以參考下2021-07-07idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet的問題解決
最近在寫一個javaweb項目,但是在IDEA中創(chuàng)建好項目后,在搭建結(jié)構(gòu)的時候創(chuàng)建servlet文件去沒有選項,所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet問題的解決方法,需要的朋友可以參考下2023-10-10