天天看點

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

介紹:

Kettle簡介:

Kettle 是 PDI 以前的名稱,PDI 的全稱是Pentaho Data Integeration

,Kettle 本意是水壺的意思,表達了資料流的含義。Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運作,綠色無需安裝,資料抽取高效穩定。Kettle這個ETL工具集,它允許你管理來自不同資料庫的資料,通過提供一個圖形化的使用者環境來描述你想做什麼,而不是你想怎麼做。Kettle中有兩種腳本檔案,transformation和job,transformation完成針對資料的基礎轉換,job則完成整個工作流的控制。作為Pentaho的一個重要組成部分,現在在國内項目應用上逐漸增多。

ETL(Extract-Transform-Load的縮寫),即資料抽取、轉換、裝載的過程。對于企業或行業應用來說,我們經常會遇到各種資料的處理,轉換,遷移,是以了解并掌握一種etl工具的使用,必不可少,這裡我介紹一個我在工作中使用了很久的ETL工具Kettle,本着好東西不獨享的想法,跟大家分享碰撞交流一下!在使用中我感覺這個工具真的很強大,支援圖形化的GUI設計界面,然後可以以工作流的形式流轉,在做一些簡單或複雜的資料抽取、品質檢測、資料清洗、資料轉換、資料過濾等方面有着比較穩定的表現,其中最主要的我們通過熟練的應用它,減少了非常多的工作量,提高了我們的工作效率。

特點

免費開源

基于java的免費開源的軟體,對商業使用者也沒有限制。

易配置

可以在Window、Linux、Unix上運作,綠色無需安裝,資料抽取高效穩定。

不同資料庫

ETL工具集,它允許你管理來自不同資料庫的資料。

兩種腳本檔案

transformation

job

transformation

完成針對資料的基礎轉換,

job

則完成整個工作流的控制。

圖形界面設計

通過圖形界面設計實作做什麼業務,無需寫代碼去實作。

定時功能

在Job下的start子產品,有一個定時功能,可以每日,每周等方式進行定時。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

環境

Windows 10

Java 8

(運作Kettle 7.0 以上版本需要Java8及以上)

Kettle 7.1

mysql-connector-java-8.0.21

(連接配接Mysql驅動包,根據資料庫版本下載下傳)

一鍵安裝,急速使用

第一步. 下載下傳程式包并解壓

從官方網站下載下傳spoon壓縮包。

第二步. 一鍵啟動

在windows下,解壓後,輕按兩下

spoon.bat

檔案運作。

開始使用

開始可視化資料操作吧。

1.下載下傳Kettle程式包并解壓

Kettle 7.1版本下載下傳位址:https://udomain.dl.sourceforge.net/project/pentaho/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip

Kettle各個版本下載下傳位址:https://sourceforge.net/projects/pentaho/files/

注意:

下載下傳時進入相應版本後,選擇client-tools,選擇

pdi-ce

開頭的程式包下載下傳。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

2.下載下傳連接配接驅動包:

Java 連接配接 MySQL 需要驅動包,MySQL驅動包官網下載下傳位址:https://dev.mysql.com/downloads/connector/j/

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

3.解壓Java連接配接Mysql 8.0驅動包

解壓後取出mysql-connector-java.jar包(這裡驅動包有版本号)。放到kettle的lib目錄下面。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

4.運作spoon.bat,打開spoon圖形工具

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

注意:

紅圈處沒有connect按鈕,原因為資源庫配置檔案亂碼造成。

解決方法: 打開系統盤使用者目錄下的

repositories.xml

配置檔案,将亂碼内容删除,并删除

.spoonrc

檔案,再重新開機kettle。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

5.建立或連接配接資源庫

選擇建立資料庫資源庫

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

輸入資源庫名稱(自定義) 點選Database Connection建立資料庫連接配接。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

選擇Create New Connection。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

6.建立資料庫連接配接

輸入連接配接名稱、選擇類型(根據自身所需選擇,這裡連接配接的是mysql資料庫,如連接配接其他資料庫,需将資料庫驅動放在kettle根目錄中的lib下面,然後啟動資料庫重新開機kettle)确認輸入無誤後點選測試,測試是否連接配接成功,失敗多為lib下找不到資料庫驅動

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解
企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

在這裡選擇剛才我們建立的資料庫名稱。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

建立成功,選擇Connect Now連接配接到資料庫。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

登陸時,預設是admin使用者,密碼也是admin,啟動後可以修改使用者密碼或添加其他使用者。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解

7.登入資料庫檢視Kettle自動建立的表結構

[root@localhost ~]# docker exec -it mysql /bin/bash

root@2a12523bd803:/# mysql -uroot -p123qqq...A
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.21 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+

mysql> use test;

mysql> show tables;
+--------------------------+
| Tables_in_test           |
+--------------------------+
| R_CLUSTER                |
| R_CLUSTER_SLAVE          |
| R_CONDITION              |
| R_DATABASE               |
| R_DATABASE_ATTRIBUTE     |
| R_DATABASE_CONTYPE       |
| R_DATABASE_TYPE          |
| R_DEPENDENCY             |
| R_DIRECTORY              |
| R_ELEMENT                |
| R_ELEMENT_ATTRIBUTE      |
| R_ELEMENT_TYPE           |
| R_JOB                    |
| R_JOBENTRY               |
| R_JOBENTRY_ATTRIBUTE     |
| R_JOBENTRY_COPY          |
| R_JOBENTRY_DATABASE      |
| R_JOBENTRY_TYPE          |
| R_JOB_ATTRIBUTE          |
| R_JOB_HOP                |
| R_JOB_LOCK               |
| R_JOB_NOTE               |
| R_LOG                    |
| R_LOGLEVEL               |
| R_NAMESPACE              |
| R_NOTE                   |
| R_PARTITION              |
| R_PARTITION_SCHEMA       |
| R_REPOSITORY_LOG         |
| R_SLAVE                  |
| R_STEP                   |
| R_STEP_ATTRIBUTE         |
| R_STEP_DATABASE          |
| R_STEP_TYPE              |
| R_TRANSFORMATION         |
| R_TRANS_ATTRIBUTE        |
| R_TRANS_CLUSTER          |
| R_TRANS_HOP              |
| R_TRANS_LOCK             |
| R_TRANS_NOTE             |
| R_TRANS_PARTITION_SCHEMA |
| R_TRANS_SLAVE            |
| R_TRANS_STEP_CONDITION   |
| R_USER                   |
| R_VALUE                  |
| R_VERSION                |
| mysqltest                |
+--------------------------+

mysql> select * from R_USER;
+---------+-------+-----------------------------------+---------------+-------------------------+---------+
| ID_USER | LOGIN | PASSWORD                          | NAME          | DESCRIPTION             | ENABLED |
+---------+-------+-----------------------------------+---------------+-------------------------+---------+
|       1 | admin | 2be98afc86aa79ce71da9fa6d4 | Administrator | User manager            |       1 |
|       2 | guest | 2be98afc86aace77cb97bcce | Guest account | Read-only guest account |       1 |
+---------+-------+-----------------------------------+---------------+-------------------------+---------+           

複制

8.添加新使用者

點選工具 --> 資源庫 --> 探索資源選擇【安全】--> 添加使用者 -->填寫賬号密碼儲存即可。

企業實戰(20)ETL資料庫遷移工具Kettle的安裝配置詳解