Kettle 组件使用

Kettle 组件使用,第1张

Kettle 组件使用

Kettle 组件使用
  • 表输入
  • 文本文件输出
  • 循环
    • 循环job注意点
  • java代码
  • 压缩文件
  • 邮件
  • 判断表是否存在
  • Switch/case 存在BUG
  • SQL脚本
  • 按字段合并多行数据
  • 关联字段合并(类似SQL join *** 作)
  • 表输出
      • 报错 “kettle:The tablename is not defined (empty)”
  • 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调用接口

获取接口参数



欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5698526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存