Kettle 输入步骤
1. 生成记录/自定义常量
- 用于生成自定义的数据
- 一般用于测试, 固定数据的输入.
- 生成记录步骤每行的数据都相同.
- 自定义数据常量步骤更灵活.
2. 获取系统信息
获得各类系统信息, 常见的包括:
- 转换开始时间.
- 关键时间点信息.
- 最多十个命令行参数.
- 主机名 ip/进程号/虚拟机内存等.
- 上一个作业的完成情况参数.
3. 表输入
执行 Select 语句, 从数据库中获取数据
- 可以通过 ? 和 ${var} 方式使用变量
- ? 变量要求前面步骤传来的参数的顺序一致
- 延迟转换: rs.getBytes(int) vS. rs.getString(int)
- 表输入的数据类型如何和 Kettle 数据类型对应: ResultSetMetaData
4. 文本文件输入
文本文件输入:
- 处理有列分隔符 (限定符、逃逸字符) 的文本文件.
- 功能选项丰富、有错误处理机制.
CSV 文件输入:
- 简化了文本文件输入.
- 通过 NIO、并行、延迟转换提高性能.
Excel 文件输入:
- 限制 Excel 文件作为输入的文本文件输入.
- 功能和文本文件输入一样.
固定宽度文件输入:
- 列固定宽度的文件, 不用解析字符串, 性能好.
4.1 文本文件输入
文件选择方式:
- 直接选择本地文件.
- 从上个步骤传递文件名.
- 文件名列表文件(傲飞版本).
内容:
- 封闭符、分隔符的设置, 不可见字符输入.
- 行头设置.
过滤:
- 内容过滤, 选中/排除记录.
字段:
- 自动识别字段类型, 不一定准确.
输入后面带有
菱形内 S
的都可以按 CTRL + ALT + SPACE 可以看见系统内的变量.
Excel 和 CSV 操作相差无几.
2. 固定宽度文件输入
5. XML 文件输入
5.1 Get data from XML
文件选择方式:
- 直接选择本地文件.
- 从上个步骤传递文件名.
- XMLPath: 自动选择 XMLPath 循环路径.
字段:自动或手动设置:
- 优点:使用简单.
- 缺点: 不能使用大 XML 文件, 占用内存.
5.2 XML input stream (StAX)
优点:
- 可用于处理大的XML文件.
- 处理方式更灵活、效率更高.
缺点:
- 使用较复杂, 要写脚本或 Java, 有一定使用难度.
例子中一共有 6 个, 看第二个.
比较复杂, 可以看一看.
6. Json 输入
官方文档上显示的选择字段是好使的, 而我用例子实例的时候也是不好使的.
$.myData.x.y..z
:
- myData 是 JSON 数据的跟结点.
.
代表直系下且只有一个...
代表不是直系下或者直系下有多个.
7. 其他输入步骤
Cube 文件输入
Access 输入
配置文件输入
SAP 输入
Oracle CDC 增量输入
消息队列输入
PDF 文件输入
搜索引擎结果输入
…