1. Kettle的流程步骤和应用步骤
Kettle应用步骤的作用:用来转换提供的一些工具类步骤。具体的内容包括:
- NULL值处理
- 如何启动其他程序
- 日志功能
- 文件处理功能
2. 如何过滤数据
在Kettle工具中,可以通过Switch/case、过滤记录和更具Java表达式完成数据的过滤。各自的特点包括:
- Switch/case按钮
- 多路开关、可以实现一路到多路
- 支持日期、数值、字符串类型比较
- 过滤记录按钮
- 多路开关、支持一路到两路
- 支持日期、数值、字符串比较,自定义嵌套的表达式等
- 根据Java表达式过滤记录
- 多路开关,一路到两路
- 直接手写Java表达式,比过滤记录更灵活,尤其在字符串的处理上
3. 如何处理不确定的数据行数
在Kettle工具中,可以通过检测空流、识别流的最后一行和阻塞数据方式实现,各自的内容包括:
- 检测空流:有则不通过,没有则生成一个空行
- 识别流的最后一行:通过一个字段,标识出数据流里的最后一行
- 阻塞数据:除了最后一条,其他的数据行都不能过去
4. 如何把多来源数据行前后合并到一起
实现多来源数据行的前后合并,可以通过空操作、追加流和数据流优先级排序等方式。
- 空操作:多个来源,以自然顺序合并
- 追加流:只能两个来源,指定顺序合并
- 数据流优先级排序:多个来源,指定顺序合并
上面三个步骤都用于把多个来源的数据行,按照前后方式合并,类型 union。要求列名、列数、列类型相同。
5. 数据流的终点
在在Kettle工具中的流程步骤中,数据流的终点包括空操作、终止、复制记录结果和设置变量等。
- 空操作:无效数据,类似垃圾箱
- 终止:如果有数据到此步骤,转换会被强行停止,并报错误
- 复制记录到结果:暂时保留在内存里的数据,供以后的转换使用
- 设置变量:把字段值设置为变量:变量供以后转换使用
6. 其他流程控制步骤
kettle流程步骤中还有哪些其他的流程控制步骤,各自有那些作用?
- 阻塞数据直到步骤都完成:需注意死锁依赖问题
- 克隆行:复制相同的数据行
- 延迟行:每行数据之间等待一定的时间间隔
7. ETL工具Kettle的应用步骤
Kettle应用步骤的NULL值处理和如何启动其他程序包括:
- NULL值处理
- 把NULL值变成指定的值
- 把指定的值变为NULL
- 如何启动其他程序:
- 启动本地程序:使用Java的Runtime
- 运行SSH命令:启动远程机器上程序
- 本地和远程机都是Linux
- 要提前设置ssh-keygen
Kettle应用步骤的日志功能和文件处理功能包括:
- 日志功能的作用
- 在日志里记录需要的信息
- 发送信息至日志系统:结合apache syslog
- 文件处理
- 文件编码转换
- 处理文件:文件的移动、删除、复制等功能