解決kettle排程效率低,不可高併發排程方法

2021-08-10 02:12:18 字數 738 閱讀 2870

「我在spoon裡面執行乙個作業只要幾秒種,但是在命令列中執行卻要好幾十秒?」

「並行同時執行幾個job,就把記憶體撐爆了,kettle好佔資源呀!」

kettle作為使用者規模最多的開源etl工具,強大簡潔的功能深受廣大etl從業者的歡迎。但kettle本身的排程監控功能卻非常弱。連pentaho官方都建議採用crontab(unix平台)和計畫任務(windows平台)來完成排程功能。呼叫kettle作業,實際上是通過pan和kitchen命令去呼叫。每一次呼叫都會重新初始化kettle執行環境,這個過程占用大量的時間。並且每啟動乙個kettle執行環境都相當於啟動乙個jvm程序。每個jvm則會占用幾百兆(預設設定)的記憶體。所以同時執行幾個作業,也會消耗大量記憶體資源。極端情況則可能會導致kettle記憶體溢位,產生致命錯誤。

上述是taskctl出的解決方案,但是如果我本身不願意在多學習乙個排程工具,其實也是可以用這個的。安裝這個服務後,缺省會生成兩個排程外掛程式,分別對應trans和job兩種型別的。我們現在需要做的就是用crontab呼叫排程外掛程式,配合著正確的引數值,就可以正常排程了,非常簡單,而且效率也很高。

0 0 * * * /home/kettle/shell/cprunsoapktr.sh 「/home/kettle/mykettle/my.ktr」 「」 「」

這個是我們trans作業。是直接呼叫檔案,而且也沒有引數,如果有差異,在安裝服務是按需選擇,呼叫的時候有細微的差異。執行效率比原來有大幅的提公升,而且也不在開闢多個jvm環境,造成伺服器資源的問題

Kettle排程實現

9本文介紹使用shell呼叫kettle job實現資料排程功能。1 通過crontab定時排程shell 2 使用shell呼叫kettle job 3 排程異常傳送郵件預警 基本步驟為 1 建立extract資料夾,用於存放指令碼 job配置檔案 2 建立extract log資料夾,用於存放排...

解決GridView分頁效率低的問題

gridview 當對資料量比較大的時候,他的分頁功能就顯得力不從心了,下面我給個sql語句的例子 來對gridview實現 重新分頁 select top pagesize from select row number over order by 進行排序字段 as rownum,from tab...

mysql用in效率低?

子查詢指的是乙個查詢是另外乙個查詢的條件,之間關係是用in來構建 雖然有時候用explain顯示是用到索引 但是看到rows的時候就發現還是掃瞄了最外邊表中的大多數數資料 這種情況出現在了mysql5.5和5.6版本裡邊。5.7得到了優化 看兩個例子 update task manager inne...