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時(shí)kettle會(huì)解析對(duì)應(yīng)得xml格式的.kjb文件,并初始化命名參數(shù)的map,創(chuàng)建Job對(duì)象kettle并不會(huì)像創(chuàng)建Trans那樣將TransMeta中的命名參數(shù)復(fù)制給Trans,所以此時(shí)的Job中的命名參數(shù)size為0,如果通過job.setParameterValue()函數(shù)并不能將我們的參數(shù)傳遞給kettle。

2.3. kettle源碼中,初始value值為空字符串,需要在job中設(shè)定命名參數(shù)的變量名作為key值才能將自己的參數(shù)對(duì)應(yīng)傳遞給kettle,接下來在對(duì)應(yīng)需要使用的地方用EL表達(dá)式即可獲取${yourkey}

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Jenkins來構(gòu)建SVN+Maven項(xiàng)目的實(shí)現(xiàn)
這篇文章主要介紹了使用Jenkins來構(gòu)建SVN+Maven項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
詳解Huffman編碼算法之Java實(shí)現(xiàn)
Huffman編碼是一種編碼方式,常用于無損壓縮。本文只介紹用Java語言來實(shí)現(xiàn)該編碼方式的算法和數(shù)據(jù)結(jié)構(gòu)。有興趣的可以了解一下。2016-12-12

