Kettle 组件使用
表输入
- 如果sql中使用变量,替换变量选项一定要勾。
- 返回数据类型如果有int,double类型数据,转为字符串类型。默认识别可能会丢失精度
文本文件输出
- 需求为输出为CSV文件,使用UTF-8编码会造成中文乱码。改为GBK解决中文乱码
- 字段获取的时候,要点一下最小宽度。不点的情况下,默认识别数据的宽度不确定(如果数据不够宽度以空格填充)这样会造成文件太大。浪费空间。
- 按数据量分多个文件导出
循环
接下来使用一个JOB循环
循环job注意点
- 高级设置 要勾选对每个输入行执行一次
job中接收获取参数
java代码
- 如果要对值做转换,需要一个新属性来接受,不能在原属性覆盖
- 此处gd_lat—>使用lat_84接收
压缩文件
压缩文件,如果(高级设置)zip存在的情况下,没有覆盖的功能。所以要在压缩之前加一个删除文件。避免不压缩
邮件
发送邮件,要配合【添加文件到结果文件中】使用
判断表是否存在
Switch/case 存在BUG
直接使用 Switch/case 不好使
需要配合【transformation executor】组件,具体执行放在转换里。
SQL脚本
按字段合并多行数据
关联字段合并(类似SQL join操作)
表输出
报错 “kettle:The tablename is not defined (empty)”
去掉表输出中的“表分区数据”
kettle调用接口
获取接口参数