kettle的數據庫配置的表分析


以下場景,用mysql來舉例說明。
本文是在初步了解了kettle的數據庫配置之后,做的總結和分析。
將kettle中的配置用數據庫管理的時候,在創建了一個新的數據庫,還沒有做任何kettle中的job和轉換的時候,數據庫中已經自動創建好了一些基礎的表,這些表中有的有數據,那是kettle本身的配置信息,有的表沒有數據,那是因為這是一個新的數據庫,我們還沒有做任何配置。
從這個角度來說,任何一個系統,應該有三種配置:
基礎系統配置
1:系統為了工作所自帶的配置,這些數據在系統創建的時候,自動初始化,這些屬於字典或者基礎配置,在業務使用過程中,一般不會發生變化。以kettle為例,比如系統支持的數據庫類型等配置信息。
基礎用戶自定義配置
2:系統為了工作所自定義的配置,這些配置在系統創建好之后,有用戶自己定義的信息,在業務使用過程中,可以發生變化。以kettle為例,比如用戶自己定義的一些因工作需要而配置的數據庫連接信息。
業務流程的配置
3:這個需要系統的使用者自己定義,這些數據隨時會發生變化;以kettle為例,比如job和轉換等。

下面,我們根據上面分析的配置類型,來說明常用的kettle的配置。
新的數據庫創建好之后,kettle在數據庫中自動創建的表:
select table_name
from information_schema.tables where table_schema='kettle' ;

# table_name
'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'

合計61個表。

上述61個表中,被kettle自動初始化的,就是基礎系統配置的表。
select table_name,table_rows
from information_schema.tables where table_schema='kettle' and table_rows > 0;

# table_name, table_rows
'R_DATABASE_CONTYPE', '6'
'R_DATABASE_TYPE', '52'
'R_JOBENTRY_TYPE', '89'
'R_LOGLEVEL', '6'
'R_REPOSITORY_LOG', '1'
'R_STEP_TYPE', '222'
'R_USER', '2'
'R_VERSION', '1'

基礎系統配置分析
-- 數據庫連接類型
select * from R_DATABASE_CONTYPE;

-- 系統支持的數據庫類型
select * from R_DATABASE_TYPE;

-- job的節點類型
select * from R_JOBENTRY_TYPE;

-- 啟動的時候,進程的日志等級
select * from R_LOGLEVEL;

-- kettle的日志
select * from R_REPOSITORY_LOG;

-- 步驟類型
select * from R_STEP_TYPE;

-- kettle數據庫配置的連接用戶
select * from R_USER;

-- 版本信息
select * from R_VERSION;

功能舉例:
創建一個目錄
-- kettle中的目錄配置
select * from R_DIRECTORY;

創建一個數據庫連接
會向下面兩個表中插入數據,
-- 數據庫連接定義表
select * from R_DATABASE;

-- 數據庫連接的配置明細
select * from R_DATABASE_ATTRIBUTE;

在創建數據庫連接的時候,會用到R_DATABASE_CONTYPE和R_DATABASE_TYPE表。

配置一個轉換
功能描述:從mysql數據庫的一個表,將記錄寫入mysql數據庫的一個表中

配置完成之后,一下表中有數據
-- 定義一個轉換
select * from R_TRANSFORMATION;

-- 轉換的屬性定義表
select * from R_TRANS_ATTRIBUTE;

-- 定義了一個轉換下面的步驟順序
select * from R_TRANS_HOP;

-- 定義一個步驟
select * from R_STEP;

-- 定義一個步驟的屬性
select * from R_STEP_ATTRIBUTE;

-- 步驟里面配置的數據庫連接信息
select * from R_STEP_DATABASE;

為轉換添加一個job
job的好處是,可以將多個轉換用一個job連接起來,然后一鍵執行所有的轉換。

-- 定義一個job
select * from R_JOB;

-- 定義一個job的所有節點信息
select * from R_JOBENTRY;

-- 定義一個job節點的屬性信息
select * from R_JOBENTRY_ATTRIBUTE;

-- 定義了一個job在kettle中的GUI界面中的信息,X和Y是坐標點
select * from R_JOBENTRY_COPY;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM