kettle安裝:下載包直接解壓打開就能用,不在闡述;
遇到的問題:
1.連接MySQL報錯:

①報錯:
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver
原因:沒有識別到連接數據庫的驅動jar包
解決方法:
將驅動jar包復制粘貼到data-integration\lib文件下(data-integration為kettle安裝目錄);重啟spoon。
操作完成之后反復嘗試還是報相同的錯,識別不到,則說明你的kettle版本與你的驅動版本不容,無法識別。(例如我的kettle7.0無法識別mysql-connector-java-8.0.19.jar)。那么只有換版本或者換連接的數據庫(這里我放棄連接MySQL,轉為連接sqlserver)
②報錯:
Error connecting to database: (using class org.gjt.mm.mysql.Driver)
Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.
原因:你導入的jar包被kettle識別,但是它與你本地MySQL版本不容
解決方法:換連接驅動的jar包(因為驅動版本是跟數據庫版本一致的,間接說明你的kettle與MySQL版本不容)
連接SQL server:

連接成功:

操作:(本案例演示csv文件拆分字段轉存sqlserver數據庫)
(1)建立作業,連接數據庫

(2)執行sql腳本(對數據庫表初始化操作)
下面的sql腳本在sqlserver運行不出錯,但在kettle就會報錯(不知道為什么,所以現在我sql腳本沒有寫,不過想想確實還不如直接去數據庫客戶端里建表方便)
IF NOT EXISTS (select * from dbo.sysobjects where xtype='U' and Name = 'kettle_test') BEGIN CREATE TABLE kettle_test ( kind varchar(255), time varchar(255), processingDepartment varchar(255), content varchar(255) ); END

執行結果出錯(如下圖),后來我把sql語句刪了,動手在數據庫里建的表。

(3)在轉換1中新建一個轉換;完成輸入csv文件,字段切分,輸出到表的操作

(這里,觀察左菜單欄就會發現它的數據清洗功能)

①需要給每個轉換建立數據庫連接;
②之后進行csv文件輸入:
我的csv樣式:


③拆分字段:

④表輸出

⑤點擊文件,保存
⑥返回作業,為轉換1設置:

(4)保存,執行

體驗:確實很快,我使用一兆多大的csv文檔測試,零點幾秒完事
