1. kettle教程是什麼
kettle 是純 java 開發,開源的 ETL工具,用於資料庫間的數據遷移 。可以在 linux、windows、unix 中運行。有圖形界面,也有命令腳本還可以二次開發。
kettle 的官網是https://community.hitachivantara.com/docs/DOC-1009855,github地址是https://github.com/pentaho/pentaho-kettle。
安裝。
這邊以 windows 下的配置為例,linux 下配置類似。
jdk 安裝及配置環境變數。
由於 kettle 是基於 java 的,因此需要安裝 java 環境,並配置 JAVA_HOME 環境變數。
建議安裝 JDK1.8 及以上,7.0以後版本的 kettle 不支持低版本 JDK。
下載 kettle。
從 官網 下載 kettle ,解壓到本地即可。
下載相應的資料庫驅動。
由於 kettle 需要連接資料庫,因此需要下載對應的資料庫驅動。
例如 MySQL 資料庫需要下載 mysql-connector-java.jar,oracle 資料庫需要下載 ojdbc.jar。下載完成後,將 jar 放入 kettle 解壓後路徑的 lib 文件夾中即可。
注意:本文基於 pdi-ce-7.0.0.0-25 版本進行介紹,低版本可能有區別。
啟動。
雙擊 Spoon.bat 就能啟動 kettle 。
轉換。
轉換包括一個或多個步驟,步驟之間通過跳(hop)來連接。跳定義了一個單向通道,允許數據從一個步驟流向另一個步驟。在Kettle中,數據的單位是行,數據流就是數據行從一個步驟到另一個步驟的移動。
1、打開 kettle,點擊 文件->新建->轉換。
2、在左邊 DB 連接處點擊新建。
3、根據提示配置資料庫,配置完成後可以點擊測試進行驗證,這邊以 MySQL 為例。
4、在左側找到表輸入(核心對象->輸入->表輸入),拖到右方。
5、雙擊右側表輸入,進行配置,選擇數據源,並輸入 SQL。可以點擊預覽進行預覽數據。
6、在左側找到插入/更新(核心對象->輸出->插入/更新),拖到右方。
7、按住 Shift 鍵,把表輸入和插入/更新用線連接起來。
8、雙擊插入/更新進行配置。
9、點擊運行,就可以運行這一個轉換。
10、運行結束後,我們可以在下方看到運行結果,其中有日誌,數據預覽等,我們可以看到一共讀取了多少條數據,插入更新了多少數據等等。
這樣就完成了一個最簡單的轉換,從一個表取數據,插入更新到另一個表。
作業。
如果想要定時運行這個轉換,那麼就要用到作業。
1、新建一個作業。
2、從左側依次拖動 START 、轉換、成功到右側,並用線連接起來。
3、雙擊 START,可以配置作業的運行間隔,這邊配置了每小時運行一次。
4、雙擊轉換,選擇之前新建的那個轉換。
5、點擊運行,就能運行這次作業,點擊停止就能停止。在下方執行結果,可以看到運行的日誌。
這樣就完成了一個最簡單的作業,每隔1小時,將源表的數據遷移到目標表。
總結:kettle 是一個非常強大的 ETL 工具,通過圖形化界面的配置,可以實現數據遷移,並不用開發代碼。
通過它的作業,kettle 能自動地運行轉換。
2. jdk鐜澧冨彉閲忛厤緗濂藉悗鎵撳紑kettle涓嬬殑Spoon.bat錛屽嚭鐜頒笅鍒楅棶棰橈紝濡備綍瑙e喅錛
瑙e喅鏂規硶錛
1銆亀indows涓嬪傛灉java_home璁劇疆浜嗭紝涓嬮潰鍙浠ヤ笉鐢ㄨ劇疆錛屽傛灉鎻愮ずJVM涓嶈兘姝e父鍚鍔–ould not find the main class. Program will exit!
2銆佸彲浠ヨ劇疆鐜澧冨彉閲忥細pentaho_java_home錛屼緥濡傦細C:Program FilesJavajdk1.7.0_79錛屽叾瀹炲氨鏄浣犵殑java瀹夎呯洰褰曪紝1.6浠ヤ笂鍗沖彲錛堥氳繃楠岃瘉錛夈
3銆佸傛灉鍚鍔ㄨ繕鎶ラ敊鈥渃ould not create theJavavirtual machine鈥濓紝涓嶆槸java鉶氭嫙鏈哄嚭浜嗛棶棰橈紝淇鏀逛竴涓媠poon.bat閲屽唴瀛橀厤緗銆
4銆乮f "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"鏀逛負if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"銆