以下场景,用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的数据库配置的表分析的更多相关文章

  1. kettle实现数据库迁移----多表复制向导

    kettle实现数据库迁移----多表复制向导 需求: 做数据仓库时,需要将业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为 ...

  2. 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  3. 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  4. django数据库配置,即数据库分库分表

    一 Django的数据库配置 (一)修改settings.py文件关于数据库的配置: Django默认使用sqlite:   DATABASES = { 'default': { 'ENGINE': ...

  5. MySQL数据库、数据表和字段字符集查询、修改和配置

    一.设置编码 LINUX  修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加    default-character-set=utf8 在[mysqld]下添加 ...

  6. informix 数据库锁表分析和解决方法

    一.前言 在联机事务处理(OLTP)的数据库应用系统中,多用户.多任务的并发性是系统最重要的技术指标之一.为了提高并发性,目前大部分RDBMS都采用加锁技术.然而由于现实环境的复杂性,使用加锁技术又不 ...

  7. 项目依赖模块解决、二次封装Response、后台数据库配置、user模块user表设计、前台创建及配置

    今日内容概要 二次封装Response 后台数据库配置 user模块user表设计 前台创建及配置 内容详细 补充--项目依赖模块 # 导出项目依赖模块和安装项目依赖模块 第三方模块--->导出 ...

  8. 通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  9. 数据库分库分表配置sharding-jdbc

    @Bean(name = "shardingDataSource", destroyMethod = "close") @Qualifier("sha ...

随机推荐

  1. mysql使用存储过程,批量生成测试数据

    1.存储过程代码 delimiter $$DROP PROCEDURE IF EXISTS create_service_data$$create procedure create_service_d ...

  2. Win7系统打开防火墙出现0x6D9错误的解决方法

    防火墙是Windows系统内的一道屏障,开启防火墙可以对系统起到一定的保护作用,可以说非常重要.但是有些Win7系统用户在开启防火墙时会被系统提示出现0x6D9的错误代码,从而不能打开防火墙. 当我们 ...

  3. mybatis-03

    mybatis-03 1.mybatis的别名[两种]在MyBatis中可以为变量类型定义别名.简化映射文件的定义,在核心配置文件中定义的别名.别名应用:MyBatis框架先将resultType定义 ...

  4. 6.Shell 计划任务服务程序

    计划任务服务程序 经验丰富的系统运维工程师可以使得Linux在无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化. 如何设置服务器的计划任务服务,把周期性.规律性的 ...

  5. java8学习之Stream介绍与操作方式详解

    关于默认方法[default method]的思考: 在上一次[http://www.cnblogs.com/webor2006/p/8259057.html]中对接口的默认方法进行了学习,那在Jav ...

  6. 分布式 一致性Paxos算法(转载)

    比较通俗易懂,可以入门,转载地址是http://www.cnblogs.com/linbingdong/p/6253479.html Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有 ...

  7. vue项目 WebViewJavascriptBridge 适配android和ios

    前言 最近在app 原生页面 嵌套 做Vue 的H5,混合开发,当然原生和Vue 交互方面当然用到 WebViewJavascriptBridge 这个东西啦, 当然在用到的时候也有问题,可以参考大佬 ...

  8. python操作hive 安装和测试

    方法一:使用pyhive库 如上图所示我们需要四个外部包 中间遇到很多报错.我都一一解决了 1.Connection Issue: thrift.transport.TTransport.TTrans ...

  9. php类知识---魔术方法__toString,__call,__debugInfo

    <?php class mycoach{ public function __construct($name,$age) { $this->name = $name; $this-> ...

  10. 【Maven】-maven打包跳过javadoc

    有时候由于代码中注释错误(比如方法参数)或者maven javadoc插件版本有问题,导致打包报错,而我们着急打包验证问题,没有时间一一修改错误,这时候可以先跳过生成javadoc,继续下一步工作. ...