您现在的位置是:首页>漫生活>详细内容
【转载】kettle转换定义错误处理
发布时间:2019-10-10 14:23:55 编辑:miki艾比利浏览(1735)评论(0)
- CREATE TABLE `tb_kettle` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '元数据标识',
- `name` varchar(100) DEFAULT NULL COMMENT '姓名',
- `birthday` date DEFAULT NULL COMMENT '出生日期',
- `des` varchar(6) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULTCHARSET=utf8;
- INSERT INTO tb_kettle(name, birthday, des)
- VALUES ('Tom', '1988/3/23 0:00:00', 'good');
- INSERT INTO tb_kettle(name, birthday, des)
- VALUES ('Tim', '1978/2/16 0:00:00', 'nice');
- INSERT INTO tb_kettle(name, birthday, des)
- VALUES ('Kate', '1968/6/24 0:00:00', 'badguy');
- INSERT INTO tb_kettle(name, birthday, des)
- VALUES ('Mike', '1998/3/13 0:00:00', 'badman');
- CREATE TABLE `tb_kettle_out` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '元数据标识',
- `name` varchar(100) DEFAULT NULL COMMENT '姓名',
- `birthday` date DEFAULT NULL COMMENT '出生日期',
- `des` varchar(4) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Kettle使用_1转换之错误处理
2018-03-14 23:19:24 SunShine2025 阅读数 4782更多
分类专栏: ETL
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shenliang1985/article/details/79561802
需求:通过kettle配置数据转换失败的日志记录.
解决方法:通过表输入、表输出、文本文件输出等组件完成该功能.
1) 配置数据库连接,这里输入连接名、主机名称、数据库名称、数据库用户名、密码等数据库的基本信息
2) 新建立个转换,或者通过快捷键Ctrl+N建立
3) 在核心对象里找到输入这个分类,然后下拉找到表输入组件
4)定位到表输入这个组件并将其拖放到右边的面板中
5)双击表入组件,对组件相应内容进行修改
6)创建验证表tb_kettle并插入数据后修改表输入组件中SQL的内容见下截图示意:
7)我们先定义好要输出的表结构,这里为了演示错误处理的过程,故意将des字段定义短了些,见如下SQL语句.
注:此步可直接在数据库里执行,也可以在表输入组件里执行该DDL.
7)同理找到输出这个分类并找到表输出这个组件,然后拖到右边面板中.这时需要做个动作:点击表输入组件,按住SHIFT键,将表输入和表输出连接起来,见下图所示:
8)双击表输出组件,选择要输出的表,如果tb_kettle_out已经在数据库里建好则只需要选择即可,如果还未创建,可以参照步骤9
9)如果想在表输入时执行DDL,可参见下面的步骤,先双击表输出组件,在选中表后执行DDL,详细步骤见下图所示:
10)同理拖动一个文本文件输出组件并将表输出和其连接,这里选择错误处理步骤
11)右击表输出,选中定义错误处理选项并定义错误相关的字段名称,具体见下图:
12)右击文本文件输出,设置错误文件要输出的字段,具体设置见下图:
13)运行转换并验证执行结果
打开错误文本文件不难发现tb_kettle里的4条记录有2条在错误日志内:
同时查看tb_kettle_out不难发现进来了2条记录.
关键字词:ETL#kettle#错误处理