四十三、ETL工具的流程和应用

1. Kettle的流程步骤和应用步骤

Kettle应用步骤的作用:用来转换提供的一些工具类步骤。具体的内容包括:

  • NULL值处理
  • 如何启动其他程序
  • 日志功能
  • 文件处理功能

2. 如何过滤数据

在Kettle工具中,可以通过Switch/case、过滤记录和更具Java表达式完成数据的过滤。各自的特点包括:

  • Switch/case按钮
    1. 多路开关、可以实现一路到多路
    2. 支持日期、数值、字符串类型比较
  • 过滤记录按钮
    1. 多路开关、支持一路到两路
    2. 支持日期、数值、字符串比较,自定义嵌套的表达式等
  • 根据Java表达式过滤记录
    1. 多路开关,一路到两路
    2. 直接手写Java表达式,比过滤记录更灵活,尤其在字符串的处理上
      在这里插入图片描述

3. 如何处理不确定的数据行数

在Kettle工具中,可以通过检测空流、识别流的最后一行和阻塞数据方式实现,各自的内容包括:

  • 检测空流:有则不通过,没有则生成一个空行
  • 识别流的最后一行:通过一个字段,标识出数据流里的最后一行
  • 阻塞数据:除了最后一条,其他的数据行都不能过去
    在这里插入图片描述

4. 如何把多来源数据行前后合并到一起

实现多来源数据行的前后合并,可以通过空操作、追加流和数据流优先级排序等方式。

  • 空操作:多个来源,以自然顺序合并
  • 追加流:只能两个来源,指定顺序合并
  • 数据流优先级排序:多个来源,指定顺序合并

上面三个步骤都用于把多个来源的数据行,按照前后方式合并,类型 union。要求列名、列数、列类型相同。
在这里插入图片描述

5. 数据流的终点

在在Kettle工具中的流程步骤中,数据流的终点包括空操作、终止、复制记录结果和设置变量等。

  • 空操作:无效数据,类似垃圾箱
  • 终止:如果有数据到此步骤,转换会被强行停止,并报错误
  • 复制记录到结果:暂时保留在内存里的数据,供以后的转换使用
  • 设置变量:把字段值设置为变量:变量供以后转换使用
    在这里插入图片描述

6. 其他流程控制步骤

kettle流程步骤中还有哪些其他的流程控制步骤,各自有那些作用?

  • 阻塞数据直到步骤都完成:需注意死锁依赖问题
  • 克隆行:复制相同的数据行
  • 延迟行:每行数据之间等待一定的时间间隔
    在这里插入图片描述

7. ETL工具Kettle的应用步骤

Kettle应用步骤的NULL值处理和如何启动其他程序包括:

  • NULL值处理
    1. 把NULL值变成指定的值
    2. 把指定的值变为NULL
  • 如何启动其他程序:
    1. 启动本地程序:使用Java的Runtime
    2. 运行SSH命令:启动远程机器上程序
      • 本地和远程机都是Linux
      • 要提前设置ssh-keygen

在这里插入图片描述
Kettle应用步骤的日志功能和文件处理功能包括:

  • 日志功能的作用
    1. 在日志里记录需要的信息
    2. 发送信息至日志系统:结合apache syslog
  • 文件处理
    1. 文件编码转换
    2. 处理文件:文件的移动、删除、复制等功能

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值