欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一、 kettle开发、上线常见问题以及防错规范步骤

程序员文章站 2022-04-06 10:14:54
此篇说明对应的kettle版本是6.1,实际使用时7.x应该也是一样的。 一、 kettle开发流程(规范步骤,防止出错) (一) Kettle设置检查 如果不加一下配置项,数据转换后中文会出现乱码,很难处理。 本地连接资源库:配置项 defaultFetchSize 500 useCursorFe ......

 此篇说明对应的kettle版本是6.1,实际使用时7.x应该也是一样的。

一、    kettle开发流程(规范步骤,防止出错) (一)       Kettle设置检查 资源库连接

如果不加一下配置项,数据转换后中文会出现乱码,很难处理。

 一、    kettle开发、上线常见问题以及防错规范步骤

 

本地连接资源库:配置项

defaultFetchSize 500

useCursorFetch true

characterEncoding UTF-8

useUnicode true

 

 

(二)       Kettle注意事项

1、每个trans、jobs的名称都应该和文件名一致。在使用资源库的时候,不是按照文件名生成对象,而是按照名称属性生成。{所以如果有名称属性相同的就会冲突}

 一、    kettle开发、上线常见问题以及防错规范步骤

 

 

 

 

 

2、资源库方式trans相对job的位置只能通过图中下面的一种方式(相对位置)。而不能通过设置trans文件位置的方式(因为是资源库,并不是真的文件)。

 一、    kettle开发、上线常见问题以及防错规范步骤

 

 

 

(三)       资源库方式开发

1、从线上导出一个job(包含了数据库的连接等信息),直接导出成整资源库的文件。

2、把这个文件资源库导入到03测试库。

3、把这个数据库连接信息dataCenters对应的ip改成04上的开发库(只改一个ip,其他连接信息是一致的)。

4、在这个库上进行相关开发操作。

 

 

二、    上线流程

5、开发完成需要上线,直接把前面的资源库的ip地址换成线上ip地址即可。

6、把开发库上其他的东西都删掉,只保留新开发的内容。

7、然后导出成整个文件的资源库。把这个文件资源库导入到线上。

 

(一)       安全流程

为了防止开发过程当中忘了改ip地址,直接连到生产库去,或者把生产库上的连接地址冲掉了。这里加上一个流程:

每次开发:从线上导资源库到本地先导入到03的预发布库去。改完ip地址再导入到04的开发库去。

 

每次上线的话:反过来。先导入到03库,删除不必要的东西,改完ip地址再导入到线上环境。

 

 

(二)       验证流程

由于kettle的特殊性。需要在任何改动后做验证。

1、 每次修改、新增了kettle任务。必须要把job、trans都一步一步点开。查看是否能在job里顺利找到子trans。同时查看数据库连接信息是否正确(有没有被开发库的设置冲掉)。

2、 给发新增的任务(job或者trans)在jenkins中增加对应的调度。(这里建议调度名称和调度要生成数据的表名一致)要有详细的备注。

4、 每次修改、新增了kettle任务之后,都要在表结构同步好之后,jenkins中先构建一次任务,看看kettle任务是否能够执行成功。

5、 任务跑成功之后,要连到生产库查看对应数据是否正确。

6、 启动web后要点开相应功能查看web展示上是否正确。

 

 

(三)       迁移注意事项

 

如果是新部署的kettle

 

kettle的资源库,需要用图形界面打开,手动再设置一遍(要先删除/root/.kettle/目录下的配置文件,重新配置;然后会重新生成配置文件,这时才能正确连上资源库)