1. 程式人生 > >kettle 7.1 開啟後沒有出現資源庫的連線按鈕解決辦法-自己親測解決

kettle 7.1 開啟後沒有出現資源庫的連線按鈕解決辦法-自己親測解決

       大家做ETL資料分析處理的話,應該對kettle都不陌生吧,它是一款高效的etl處理工具,kettle 可以建立轉換和作業兩種任務,轉換以.ktr 結尾,作業以.kjb 結尾。 為了管理方便,我們可以把它作為本地檔案儲存或儲存到資源庫,其中資源庫又分為檔案資源庫和資料庫資源庫,其中資料庫使用的最多啦。

           在linux 環境下做的測試,發現開啟kettle後不能找到資源庫的連線按鈕,就是在右上角有個connect 按鈕,現在沒有顯示出來,自己查詢各種網上的解決辦法,說需要刪除spoonrc 檔案,清除亂碼部分,然後刪掉db-cachexxx 檔案,照做了都沒有用,後來突然想起,在kettle啟動時會輸出很多資訊,其中的關鍵資訊給我了很大幫助,它會去讀取資源庫檔案,就是repository.xml 檔案,讀取結果是失敗了。 根據這個路徑找到了對應的檔案,結果發現檔案內容為空,就當然會出問題了。

         

原來資源庫的配置檔案在這個地方,就是在kettle的安裝目錄下的,不是 使用者.kettle 目錄下的repository.xml 檔案,把舊檔案裡的內容複製過來,重新儲存一下,退出kettle重新啟動就出現了資源庫連線按鈕。

         

1.  點選connect按鈕後,有3個選項,DbRepostoy 和 Repository Manager 和Disconnect 選項,我們可以根據需要選擇需要使用哪一種資源庫模式。 當然推薦資料庫資源庫比較好的。

2. 這個時候又出現了一個新的問題,點選repository Manager 資源庫管理器發現出現一個對話方塊,但是空白一片,沒有內容顯示,具體原因還不確定,網上部落格說是ie 瀏覽器版本過低,需要升級,那個是windows下的解決辦法,在linux 下不合適無法解決。暫時沒有找到原因。

3. 現在資料庫資源庫是可以使用的。 資料庫需要提前建立好。 在工具裡----嚮導,建立資料庫連線嚮導,根據提示步驟建立完成。建議,最好給kettle單獨建立一個數據庫和一個數據表,這樣不容易和其他的混淆。方便管理。

4. 我們可以建立轉換和作業檔案了,具體的轉換和作業流程,這裡不做分析講解,建立完成後,點選儲存按鈕,需要先連線到資源庫,點選dbRepository, 點選後對勾會被勾選。 如圖:  

就表示我們的檔案要儲存到資源庫裡,這個時候就可以儲存了,儲存的時候會出現對話方塊,我們選擇 作業屬性裡的目錄,最後邊有個方塊按鈕,點選進入就是資源庫瀏覽框,預設只有一個根目錄,我們可以自己根據需要建立對應的檔案目錄,比如根據任務名稱建立或型別建立,這樣方便查詢管理。

5.  這樣,我們的轉換和作業檔案就被成功儲存到了資源庫裡,下一步就是執行這個作業或轉換檔案,觀察執行結果是否是我們想要的結果。

6. 一般是通過系統的定時任務呼叫指令碼來執行,也就是crontab 呼叫。  我們可以根據需要,自由靈活的編寫指令碼來實現,shell 或Python指令碼都可以的。 為了避免螢幕輸出很多的資訊,我們可以使用nohup  來啟動指令碼,也就是後臺執行,輸出的日誌資訊,可以重定向到一個日誌檔案裡,這樣如果執行結果錯誤,我們可以根據錯誤內容來定位到具體的問題發生的原因。

7.  需要注意的是資源庫執行模式和普通模式不太一樣的,資源庫模式,需要在指令碼中指定一些引數,比如 -rep  資源庫名稱   -user  使用者名稱    -pass   密碼     -dir  檔案所在資源庫的路徑   -job  作業的名稱   -level  日誌級別    和一些其他必要的引數。這樣就可以使用指令碼去呼叫資源庫的任務了。因為資源庫和kettle 是整合的,所以這樣很方便的管理操作。今天就介紹到這裡,希望能解決遇到同樣問題的人。