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;
kettle的数据库配置的表分析的更多相关文章
- kettle实现数据库迁移----多表复制向导
kettle实现数据库迁移----多表复制向导 需求: 做数据仓库时,需要将业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为 ...
- 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- django数据库配置,即数据库分库分表
一 Django的数据库配置 (一)修改settings.py文件关于数据库的配置: Django默认使用sqlite: DATABASES = { 'default': { 'ENGINE': ...
- MySQL数据库、数据表和字段字符集查询、修改和配置
一.设置编码 LINUX 修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 ...
- informix 数据库锁表分析和解决方法
一.前言 在联机事务处理(OLTP)的数据库应用系统中,多用户.多任务的并发性是系统最重要的技术指标之一.为了提高并发性,目前大部分RDBMS都采用加锁技术.然而由于现实环境的复杂性,使用加锁技术又不 ...
- 项目依赖模块解决、二次封装Response、后台数据库配置、user模块user表设计、前台创建及配置
今日内容概要 二次封装Response 后台数据库配置 user模块user表设计 前台创建及配置 内容详细 补充--项目依赖模块 # 导出项目依赖模块和安装项目依赖模块 第三方模块--->导出 ...
- 通过 jdbc 分析数据库中的表结构和主键外键
文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...
- 数据库分库分表配置sharding-jdbc
@Bean(name = "shardingDataSource", destroyMethod = "close") @Qualifier("sha ...
随机推荐
- SYSLINUX官方文档
帮助正确认识SYSLINUX http://www.syslinux.org/wiki/index.php/Doc/syslinux http://www.syslinux.org/wiki/inde ...
- 在 Sublime Text 3 中使用 SublimeClang 插件
SublimeClang 是 Sublime Text 中唯一的 C/C++ 自动补全插件,功能强大,自带语法检查功能,可惜目前作者停止更新了,而且只支持 Sublime Text 2.今晚在 ST ...
- oracle下关于table的常用sql整理
创建表,create TABLE table( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ......); eg: create table TABLE_24751( i ...
- C++ 内联函数 摘自 C++ 应用程序性能优化
内联函数 在C++语言的设计中,内联函数的引入可以说完全是为了性能的考虑.因此在编写对性能要求比较高的C++程序时,非常有必要仔细考量内联函数的使用. 所谓"内联",即将被调用函数 ...
- 启动Activity的单独事件方法2
1.Button中创建android:onClick="sendmessage" sendmessage方法名 //MAIN_acitivity创建这个同名独立方法 响应Butto ...
- 【微信小程序】调起微信支付完整demo
微信小程序调用微信支付接口 https://blog.csdn.net/u012667477/article/details/80940578
- Django学习系列21:为每一个清单添加唯一URL
现在让我们来解决我们真正的问题,即我们的设计只允许一个全局列表. 我将演示一个关键的TDD技术:如何使用一个渐进的.循序渐进的过程来适应现有的代码,这些过程将您从工作状态转移到工作状态.测试山羊,而不 ...
- spring RestTemplate 出现 NoHttpResponseException 和 ConnectionTimeoutException
使用 httpclient.4.5.6 springboot 2.0.8RELEASE RetryExec.java CloseableHttpResponse execute() try { ret ...
- robotframework FOR循环
#获取到的ID组装成一个list ${List_ID} Create List ${ID_1} ${ID_2} ${ID_3} ${ID_4} ${ID_5} ... ${ID_6} ${ID_7} ...
- [Git] How to revert one file changes from one commit
Many times we might changed one file which we don't intent to do... but it was too late, until we fo ...