Kettle日志表配置和使用
@(baishu)
[TOC]
当系统中
ETL过程中存在多种行为且设置了每日执行增量,这无疑会造成系统数据的审计和校验的巨大麻烦。幸运的是kettle本身已经为我们提供了记录增量行为的配置项。
初始化日志表
当我们第一次使用日志表的配置时,我们需要先在数据库内生成对应的日志表。其实这一步我们也无需自己设计建表语句,在spoon内我们可以直接手动创建日志表。
打开目标转换文件,通过Spoon菜单条的“编辑-设置”打开设置页面,或者右键选择转换配置或者使用快捷键CTRL+T。
点击SQL按钮,kettle会根据我们选择的字段自动生成建表语句,我们选择执行即可创建日志表。
日志表类型
kettle提供了四种日志表,在上图左侧有展示:
- 转换日志表
- 步骤日志表
- 性能日志表
- 日志通道日志表
1、转换日志表
配置参数说明:
日志数据库连接:数据库连接
日志表模式:包含日志表的模式
日志表:转换日志表的名称
日志记录间隔时间:缺省时,日志表默认在转换开始时更新一次,结束时更新一次。如果设置了参数值,那么将会按照指定的时间间隔写入数据
日志记录过时时间:这个时间参数将从日志表中移除比超市天数早的日志记录
在内存中保存的日志行限制:对于不太支持太大的文本字段的数据库,这个选项可以约束录入的日志行数。
表字段说明
| 字段名 | 属性 |
|---|---|
| ID_BATCH | ID主键,每次转换都会创建 |
| CHANNEL_ID | 记录通道ID |
| TRANSNAME | 转换名 |
| STATUS | 转换的状态 |
| LINES_READ | 读行数 |
| LINES_WRITTEN | 写行数 |
| LINES_UPDATED | 更新行数 |
| LINES_INPUT | 输入行数 |
| LINES_OUTPUT | 输出行数 |
| LINES_REJECTED | 指定步骤执行错误行数 |
| ERRORS | 错误行数 |
| STARTDATE | 开始时间 |
| ENDDATE | 结束时间 |
| LOGDATE | 日志记录更新时间 |
| DEPDATE | 依赖时间 |
| REPLAYDATE | - |
| LOG_FIELD | 日志记录 |
实际数据示例
当LINES_READ,LINES_WRITTEN,LINES_UPDATED等列没有设置对应的步骤时,其默认的值是0。若设置了则可以将对应步骤内的值存入字段。
设置 & 展示截图
2、步骤日志表
配置参考转换日志表。
在步骤日志表内,除了少了许多的DATE信息,其他字段与转换日志表类似。在步骤日志表内的STEPNAME字段就是可以填入转换日志表的步骤名称,设置后转换日志表对应字段就可以获取设置步骤内的同名字段值。
3、性能日志表
主要用于监控转换性能,记录各个步骤的性能状况。可用于转换性能的优化