在kettle中的轉換或者做業等資源的存儲的倉庫稱爲資源庫:分爲文件資源庫、數據庫資源庫。html
一個轉換或者做業能夠屬於某個資源庫或者一個單獨的文件形態存在。mysql
1、數據庫資源庫web
1.1在mysql中建立一個數據庫做爲數據庫資源庫sql

1.2建立數據庫資源庫工具--》資源庫--》鏈接資源庫--》點擊加號--》選擇建立數據庫資源庫數據庫
由於咱們要使用mysql做爲資源庫,因此kettle須要鏈接到mysql,也就是說須要mysql的驅動包,咱們要把驅動包拷貝到kettle的lib目錄下。安全

建立數據庫鏈接而且經過測試服務器

選擇建立或更新網絡
1.3建立完成後,驗證數據庫中是否建立了不少的表oracle

看到這些表,就表示建立完成了一個數據庫資源庫了。編輯器
1.4建立一個轉換,而且建立一個DB鏈接,驗證這個不共享的DB鏈接能不能在資源庫中共享
通過測試是能夠的。
2、文件資源庫
工具--》資源庫--》斷開資源庫
使用上面的步驟來退出數據庫資源庫
2.1建立文件資源庫
和上面建立數據庫資源庫的方式同樣,可是選擇的是建立文件資源庫。

2.2在文件資源庫下,建立一個DB鏈接,驗證是否能在文件資源庫內共享
答案是能夠的
3、需求:將mysql中的表導出成txt文件
在ldp_huyu數據庫中有以下的一張person表

3.1創建以下圖的轉換

其中表輸入的配置:

其中文本文件輸出的配置:

3.2運行這個轉換
最後生成文件

4、數據庫資源庫和文件資源庫的比較
使用數據庫來管理,更容易跨平臺和共享,可是在版本控制方面不如文件資源庫好,而且數據庫須要走網絡,網絡鏈接的異常也會致使job失敗
使用文件資源庫比較麻煩的是跨平臺,通常和svn等版本控制的工具結合使用。
=======================================================================================
點擊新建圖標

選擇數據庫類型資源庫Kettledatabase repository,點擊「肯定」
在「Database Connection」窗口,選擇數據庫類型,並填寫數據庫鏈接的相關信息,本實例選用oracle數據庫。
點擊test按鈕進行數據庫鏈接測試

數據庫鏈接正確後,點擊「肯定」,再點擊「OK」,回到「資源庫信息窗口」,點擊「建立或更新」按鈕

在彈出的「簡單SQL編輯器」窗口中,點擊「執行」按鈕,執行相應的資源庫建立腳本。(用戶能夠查看這些腳本具體是進行了什麼操做:建立了46張表,並插入了一些相關信息數據,如R_USER表裏插入了admin和guest兩個用戶的信息,這兩個用戶也是該資源庫的登陸用戶,想深刻研究資源庫的用戶能夠並一步去了解相關內容)


在「資源庫信息」窗口,填寫資源庫的ID和名稱,而後點擊「肯定」按鈕。
舒適提示:建議使用英名,由於使用中文容易出現亂碼,而使得退出後,下次登陸資源庫時沒法找到相應的配置,遇到此類狀況,可根據下一章節「資源庫名稱亂碼問題解決方法」進行相關修改設置。
在「資源庫鏈接RepositoryConnection」窗口,選擇剛纔建立的資源庫「備付金系統」,填寫用戶名和密碼,新建的資源庫的默認用戶和密碼有兩個,admin/admin和guest/guest,而後點擊「肯定OK」按鈕,便可登陸資源庫。
爲了資源庫的安全,咱們須要修改資源庫用戶的登陸密碼,「Tools」 -->「資源庫」-->「探索資源庫」,可使用快捷鍵CTRL + E。
在資源庫探索「Repository explorer」窗口,選擇「Security」選項卡,而後選擇須要修改的用戶再點擊編輯按鈕
填寫新密碼,而後點擊「OK」按鈕便可完成用戶密碼的修改
=======================================================================================
kettle常見的資源庫有3種:數據庫資源庫、文件資源庫、pentaho資源庫。
文件資源庫是在一個文件目錄下定義一個資源庫,由於kettle使用的是虛擬文件系統(Apache VFS),因此這裏的文件目錄是一個普遍的概念,包括了zip文件、web服務、FTP服務。
pentaho資源庫是一個插件(kettle企業版中有),實際是一個內容管理系統(CMS),它具有一個理想的資源庫的全部特性,包括版本控制和依賴完整性檢查。
數據庫資源庫是把全部的ETL信息保存在關係型數據庫中,包括數據庫鏈接、轉換和做業。將已開發的ETL轉換、做業和相關配置保存在數據庫資源庫中便於保存、管理以及遠程調度。本篇文章主要介紹數據庫資源庫建立方法:
一、進入spoon,工具--資源庫--鏈接資源庫,點擊加號+新建資源庫

二、選擇數據庫資源庫,點擊肯定

三、數據庫鏈接選擇新建,配置數據庫鏈接信息,建議新建一個空白數據庫


四、配置好數據庫鏈接,選擇建立或更新,繼續選擇是



五、選擇執行SQL語句

六、提示執行SQL錯誤,選擇肯定,稍後在處理這個錯誤,對上述sql執行提示的全部錯誤所有選擇肯定

七、如今鏈接剛剛建立的資源庫會報錯,以下
八、下面進入sql server客戶端(由於這裏使用的是sql server數據庫資源庫,根據使用的資源庫做調整),鏈接剛剛建立的資源庫,執行下面的SQL語句
DELETE TABLE R_VERSION;
CREATE TABLE R_VERSION
(
ID_VERSION INTEGER,
MAJOR_VERSION INTEGER,
MINOR_VERSION INTEGER,
UPGRADE_DATE DATETIME,
IS_UPGRADE CHARACTER (1)
);
INSERT INTO R_VERSION (ID_VERSION, MAJOR_VERSION, MINOR_VERSION, UPGRADE_DATE, IS_UPGRADE)
VALUES (1, 5, 0, '2017-09-13', 'N');
不一樣數據庫的sql 語句寫法可能不一樣,目標是讓上面標紅的sql語句成功執行
如今鏈接剛剛建立的數據庫資源庫會發現用戶名密碼錯誤,執行下面的sql語句,建立一個新的用戶,此時的用戶名密碼都是admin
INSERT INTO R_USER (ID_USER, LOGIN, PASSWORD, NAME, DESCRIPTION, ENABLED)
VALUES (1, 'admin', '2be98afc86aa7f2e4cb79ce71da9fa6d4', 'Administrator', 'User manager', '1')
如今從新鏈接剛剛建立的資源庫,用戶名密碼都是admin,鏈接成功!
=======================================================================================
2.1 資源庫的介紹:
資源庫是用來保存轉換任務的,用戶經過圖形界面建立的的轉換任務能夠保存在資源庫中。
資源庫可使多用戶共享轉換任務,轉換任務在資源庫中是以文件夾形式分組管理的,用戶能夠自定義文件夾名稱。
資源庫有兩種形式:
1、Kettledatabase repository,即保存在各類常見的數據庫資源庫類型,用戶經過用戶名/密碼來訪問資源庫中的資源,默認的用戶名/密碼是admin/admin和guest/guest。
2、Kettle filerepository,保存在服務器硬盤文件夾內的資源庫類型,此類型的資源庫無需用戶進行登陸,直接進行操做。
(固然,資源庫並非必須的,若是沒有資源庫,用戶還能夠把轉換任務保存在xml文件中。爲了方便管理,建議用戶創建並使用數據庫類型資源庫Kettle database repository。)
2.2 建立資源庫:
運行spoon以後:
選擇 Tools---->資源庫----->鏈接資源庫:

在彈出的窗口中,選擇加號
進行新建,以下圖:(此處因爲以前有一個資源庫,所以會提示輸入用戶密碼)

在 「Select the repository type」 窗口中,選擇第一個 「Kettle database repository :...」 ,點擊「肯定」:

在資源庫信息中,選擇「新建」來新建數據庫鏈接:

填寫數據庫信息:(此處使用oracle數據庫,jdbc鏈接方式)

點擊「Test」測試鏈接:

點擊「肯定」,關閉測試窗口,點擊「OK」,完成數據庫信息填寫,回到資源庫信息界面,選擇「testdb1」,並填寫 ID和名稱:

點擊「建立或更新」,彈出提示以下:

點擊「是」,會彈出設置管理員密碼的窗口:

輸入,此處使用password,肯定,彈出提示窗口以下:

點擊「是」,會生成新窗口,內容是SQL腳本:

因爲已經創建過一個資源庫,所以此處的腳本與第一次的不太同樣。
點擊「Execute」執行腳本,彈出SQL運行結果的窗口:

點擊「肯定」,關閉此窗口,而後點擊「關閉」,關閉SQL提示的窗口:

關閉SQL窗口以後,回到資源庫信息的界面:

點擊「肯定」,關閉資源庫信息窗口,此時就到了鏈接資源庫的界面:

選擇要鏈接的資源庫「測試資源庫」,輸入管理員用戶admin,密碼password(剛剛設置的密碼),點擊「OK」進行鏈接。
此時能夠看一下左上角的信息:

說明咱們此時鏈接了資源庫「testdb1」。
能夠與最開始時沒有鏈接資源庫時的狀態對比:

建立資源庫就完美完成了。是否是很簡單~~~~~
以後每次打開Spoon都會提示鏈接資源庫,鏈接資源庫以後,咱們作的全部開發包括轉換、job等都保存在資源庫中。
若是沒有鏈接資源庫,咱們作的轉換、job等開發能夠保存爲本地文件。
=======================================================================================