以下场景,用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;

最新文章

  1. jquery-1.3.2.js
  2. [问题2015S13] 复旦高等代数 II(14级)每周一题(第十四教学周)
  3. Vmvare下Ubuntu安装Python3.4
  4. Visual Studio 中可执行文件中嵌入的清单文件
  5. TC SRM 605
  6. C# 程序关闭和进程关闭
  7. StringBuilder字符串拼接类
  8. Python源码分析
  9. 自创最精简的python装饰器
  10. pytorch对可变长度序列的处理
  11. 07arguments对象.html
  12. ES6学习笔记三(proxy和reflect)
  13. 使用.gitignore删除Github上的.idea文件
  14. 微信小程序之this.setData
  15. 【Java并发编程】19、DelayQueue源码分析
  16. lu协程练习
  17. pig入门案例
  18. 关于json中转义字符/正斜杠的问题。
  19. python opencv3 窗口显示摄像头的帧
  20. Caffe cpu版本 Linux配置命令及搭建

热门文章

  1. golang实现RSA加密解密
  2. 第九章· MySQL的备份和恢复
  3. 针对西门子PLC蠕虫的实现 
  4. Oracle【子查询】
  5. CPU排行
  6. 开源框架相关面试问题-butterknife注解框架面试问题讲解
  7. std::map 的swap错用
  8. linux内核 同步
  9. 一步一步带你安装史上最难安装的 vim 插件
  10. .NET Core 3来了!如何使用DevExpress WPF创建.NET Core 3应用