Kettle日志之Kettle step materic日志代码实现(一)
来源:互联网 发布:flash游戏算法 编辑:程序博客网 时间:2024/05/07 15:33
一、Developer Environment:
JDK1.6
MyEclipse6.5
Kettle4.0
二、Code List
1、创建Step日志表kettle_step_log_table(Oracle建表sql)
create table KETTLE_STEP_LOG_TABLE( ID_BATCH INTEGER, CHANNEL_ID VARCHAR2(255), LOG_DATE DATE, TRANSNAME VARCHAR2(255), STEPNAME VARCHAR2(255), STEP_COPY INTEGER, LINES_READ INTEGER, LINES_WRITTEN INTEGER, LINES_UPDATED INTEGER, LINES_INPUT INTEGER, LINES_OUTPUT INTEGER, LINES_REJECTED INTEGER, ERRORS INTEGER, LOG_FIELD CLOB)
2、配置step日志数据库连接
<connection> <name>kettle_step_log_table</name> <server>10.10.3.52</server> <type>ORACLE</type> <access>Native</access> <database>DGWSJ</database> <port>1521</port> <username>bsoft</username> <password>Encrypted 2be98afc86aa7f2e4cb79ce72cd9da9ce</password> <servername/> <data_tablespace/> <index_tablespace/> <attributes> <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> </attributes> </connection>
3、Trans实现代码
package com.ohgrateboy;import org.pentaho.di.core.KettleEnvironment;import org.pentaho.di.core.exception.KettleException;import org.pentaho.di.core.logging.StepLogTable;import org.pentaho.di.core.variables.VariableSpace;import org.pentaho.di.core.variables.Variables;import org.pentaho.di.trans.Trans;import org.pentaho.di.trans.TransMeta;public class ReaderTransFromFileRep {public static void main(String[] args) throws KettleException {KettleEnvironment.init();Trans trans=null;//定义变量VariableSpace space = new Variables();//将step日志数据库配置名加入到变量集中space.setVariable("kettle_step_log_table","kettle_step_log_table"); space.initializeVariablesFrom(null);try {TransMeta transMetadel = new TransMeta("D:/Untitled.xml");//声明StepLogTable。space-系统变量,tanMetade1-提供数据库连接StepLogTable stepLogTable = StepLogTable.getDefault(space,transMetadel);//StepLogTable使用的数据库连接名(上面配置的变量名)。stepLogTable.setConnectionName("kettle_step_log_table");//设置Step日志的表名stepLogTable.setTableName("kettle_step_log_table");//设置TransMeta的StepLogTabletransMetadel.setStepLogTable(stepLogTable);// 转换trans = new Trans(transMetadel);// 执行转换trans.execute(null);// 等待转换执行结束trans.waitUntilFinished();//抛出异常if(trans.getErrors()>0){throw new Exception("There are errors during transformation exception!(传输过程中发生异常)");}} catch (Exception e) {if(trans!=null){trans.stopAll();}e.printStackTrace();throw new KettleException(e);}}}
4、控制台运行截图
5、step日志表查询结果截图(部分字段):
- Kettle日志之Kettle step materic日志代码实现(一)
- kettle 日志
- kettle日志之使用xml标签实现日志记录入库
- 【Kettle从零开始】第十弹之Kettle运行日志介绍
- kettle使用日志
- Kettle日志表设置
- kettle批量设置日志
- kettle日志参数设置
- Kettle加载数据,日志记录
- kettle中设置日志表
- Kettle 4.4.0 通过 Java 代码 输出日志到表
- Kettle实现行转列2(Kettle实现)
- Kettle使用资源库日志信息配置
- kettle中给ktr作业设置日志
- kettle日志添加字段的源码修改
- kettle中给ktr作业设置日志
- etl kettle 执行日志输出到数据库
- Kettle日志输出到文件方法
- mysql user qutoa tool
- 关于升级mac os到lion版本
- Eclipse中高亮显示相同的变量
- 如何关闭word2007中的Research窗口
- centos5下 redmine安装
- Kettle日志之Kettle step materic日志代码实现(一)
- 解决迷宫问题, 栈和队列
- C#异步连接管理
- Session监听事件的处理
- sql联合查询
- php遍历一个指定文件夹
- ajax二级联下拉菜单
- 生成数据字典
- startup and shutdown scripts