kettle8.0源碼編譯

kettle作為一款開源etl工具劫流,在數(shù)據(jù)倉庫領(lǐng)域的應(yīng)用還算是比較廣泛的,做過數(shù)倉的朋友應(yīng)該都知道蔬浙,在做etl開發(fā)的時候铝耻,對于參數(shù)變量的引用是時常出現(xiàn)的場景誊爹,對于一些公共的變量,kettle的做法是啟動的時候默認(rèn)讀取用戶目錄下一個kettle.properties文件瓢捉,這種做法維護(hù)起來不是特別方便频丘,如果服務(wù)器有多臺每次新增變量,每臺服務(wù)器都需要維護(hù)泡态,為了解決這個問題搂漠,可以通過修改kettle源碼從數(shù)據(jù)庫讀取達(dá)到目的。

源碼編譯步驟(本文采用idea工具編譯)

  • 工具下載:
    kettle源碼下載:https://github.com/pentaho/pentaho-kettle/tree/8.0.0.0-R
    kettle客戶端下載:https://sourceforge.net/projects/pentaho/files
    maven下載:http://maven.apache.org/download.cgi

  • idea導(dǎo)入工程
    解壓下好的源碼某弦,idea選擇源碼目錄pom.xml


    image.png

    打開UI模塊桐汤,修改swt的maven地址為org.eclipse.swt.win32.win32.x86_64,不然會報錯靶壮,因?yàn)槟J(rèn)引用的是Linux的jar包怔毛,我們換成Windows的


    image.png

    然后將客戶端里的目錄data-integration\ui下的文件復(fù)制到工程的pentaho-kettle-8.0.0.0-R\ui\src\main\resources\ui目錄下,這里是一些資源文件
    等待idea自動導(dǎo)入依賴jar包腾降。拣度。。螃壤。抗果。
  • 啟動Spoon.java類
    kettle的啟動類是org.pentaho.di.ui.spoon.Spoon,這時候啟動這個類不出意外kettle的界面就出來了


    image.png
  • 修改源碼
    找到類org.pentaho.di.core.util.EnvUtil
    environmentInit這個方法會讀取kettle.properties配置文件加載到kettle全局變量
    源碼如下:

Map<Object, Object> kettleProperties = EnvUtil.readProperties( Const.KETTLE_PROPERTIES );
insertDefaultValues( kettleProperties );
applyKettleProperties( kettleProperties );

我們添加一個方法奸晴,調(diào)用一次就OK了:

private static void getMysqlParam() {
    Properties pro = new Properties();
    String key = "";
    String value = "";
    try {
      Class.forName("com.mysql.jdbc.Driver");
      Connection conn = DriverManager.getConnection(
              "jdbc:mysql://xx.xx.xx.xx/xx?useUnicode=true&characterEncoding=utf8",
              "xxxx", "xxxxxx");
      Statement stat = conn.createStatement();
      ResultSet rst = stat.executeQuery("select t.key,t.value from table t ");
      while (rst.next()) {
        key = rst.getString(1);
        value = rst.getString(2);
        //System.out.println(key + "---->" + value);
        pro.put(key, value);
      }
      insertDefaultValues(pro);
      applyKettleProperties(pro);
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }

  }
  • maven打包
    到項(xiàng)目所在目錄執(zhí)行命令

mvn clean install --settings C:\Users\xn043275.m2\settings.xml -Dmaven.test.skip=true

生成的目標(biāo)文件路徑在pentaho-kettle-8.0.0.0-R\assemblies\pdi-ce\target

分享就到這里冤馏,謝謝大家!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚁滋,隨后出現(xiàn)的幾起案子宿接,更是在濱河造成了極大的恐慌赘淮,老刑警劉巖辕录,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梢卸,居然都是意外死亡走诞,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蛤高,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚣旱,“玉大人碑幅,你說我怎么就攤上這事∪蹋” “怎么了沟涨?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長异吻。 經(jīng)常有香客問我裹赴,道長,這世上最難降的妖魔是什么诀浪? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任棋返,我火速辦了婚禮,結(jié)果婚禮上雷猪,老公的妹妹穿的比我還像新娘睛竣。我一直安慰自己,他們只是感情好求摇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布射沟。 她就那樣靜靜地躺著,像睡著了一般与境。 火紅的嫁衣襯著肌膚如雪躏惋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天嚷辅,我揣著相機(jī)與錄音簿姨,去河邊找鬼。 笑死簸搞,一個胖子當(dāng)著我的面吹牛扁位,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趁俊,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼域仇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寺擂?” 一聲冷哼從身側(cè)響起暇务,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怔软,沒想到半個月后垦细,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挡逼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年括改,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片家坎。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘱能,死狀恐怖吝梅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惹骂,我是刑警寧澤苏携,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站对粪,受9級特大地震影響兜叨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衩侥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一国旷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茫死,春花似錦跪但、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爱榔,卻和暖如春被环,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背详幽。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工筛欢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唇聘。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓版姑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迟郎。 傳聞我的和親對象是個殘疾皇子剥险,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容