(1) kettle 環境安裝
kettle是一個開源的java編寫的ETL(Extract,Transform and Load抽取、轉換、載入)工具,ETL工具在數據倉庫項目使用非常頻繁,kettle也可以應用在以下一些場景: * 在不同應用或數據庫質檢整合數據 * 把數據庫中的數據導出到文本文件 *大批量數據裝載入數據庫 * 數據清洗 * 集成應用相關項目是個使用。
Kettle 使用非常簡單,可以在window、Linux、Unix上運行不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什麼,而不是你想怎麼做。網上資源應該隨處都可以找到,需要資源的就私聊我吧!這裏就不貼鏈接了。貼個kettle中文網站吧:kettle中文網。網站裏也包含了部分教程以及下載地址。下載了軟件壓縮包之後,因爲是綠色軟件,即無需安裝,在windows直接啓動sponn.bat文件便可以運行。
可以看到主界面如下,需要注意的是最重要的兩種文件轉換(transformation)和作業(job),transformation完成針對數據的基礎轉換,job則完成整個工作流的控制。
可以看到 kettle的核心對象非常的多,所以功能十分的強大。
從輸入對象中可以看到,可以轉換多種的數據格式。
接下來我們先從CSV文件(以逗號爲分隔符)載入到mysql數據庫中爲例。
(1) CSV 文件 數據 導入到 mysql 數據庫。
a. 先從輸入裏拖動圖標“csv 文件輸入” ,以及輸出核心對象 選擇 “表輸出” 因爲你需要把 csv文件裏的導入到mysql數據庫裏的一張表。此時需要連接兩個圖標,表示數據流向 。按住 “shift”鍵 點擊 csv文件輸入延伸自 表輸出。接下來開始配置輸入輸出設置。
b. 雙擊“csv文件輸入圖標” ,從文件名中選擇你需要導入的CSV文件,設置文件編碼爲你所需要的(一般爲utf-8),點擊獲取字段會從文件中獲取相應的字段,這就是源字段。數據庫中的屬性爲目標字段。
c. 點擊表輸出的時候一般是沒有數據庫連接的,所以你需要點擊“新建”按鈕,編輯數據庫鏈接,一般是URL地址,端口,用戶名密碼等等(編輯完畢需要點擊測試按鈕,測試能否連接數據庫,一般沒有mysqlJDBC驅動,需要在網上下載驅動在放在kettle目錄下的lib文件夾下)。選擇目標表,即你需要導入的數據的那一張表,如果還沒有,那就自己創建。需要注意的是 編輯 “提交記錄數量”,即應該大於或等於你提交的CSV文件行數。 此時還需要點擊選項卡的“數據庫字段”。如果之後出現數據不匹配的情況,一般都是這裏出現“毛病”。
d.現在基本上已經配置完成,可以點擊界面運行圖標。選擇日誌的時候,選擇基本日誌就好,如果要看每行詳細情況,一般選擇行級日誌。然後就能夠運行了。