Kettle 实战教程
1.引言....................................................................................8
1.1 编写目的...........................................................8
1.2 阅读对象...........................................................9
1.3 术语和定义.......................................................9
1.3.1 资源库..........................................................9
1.3.2 Transformation...........................................9
1.3.3 Job..............................................................10
1.3.4 Hop.............................................................10
1.3.3.1 Transformation hop.....................10
1.3.3.2 Job hop..........................................10
1.3.5 Chef............................................................10
1.3.6 Kitchen........................................................10
1.3.7 Spoon...........................................................11
1.3.8 Pan................................................................11
2. 产品介绍.......................................................................11
2.1 什么是ETL...........................................................11
2.1.1 ETL 概念之背景.............................................11
2.1.2 ETL 概念之工作流程......................................12
2.1.3 ETL 概念之操作步骤.......................................13
2.2 什么是 kettle..........................................................14
2.2.1 什么是kettle?..................................................14
2.2.2 主要功能............................................................15
2.3 Kettle 的整体结构图.............................................15
2.4 运行环境.................................................................15
2.5 支持的 DB 种类.....................................................16
2.6 支持的操作系统.....................................................16
2.7 支持的文件类型.....................................................16
2.8 安装说明.................................................................16
2.8.1 Window 下安装................................................16
2.8.2 Linux 下安装...................................................16
3. 使用须知............................................................................17
4. 产品功能及使用............................................................17
4.1 资源库...........................................................................17
4.2 数据源...........................................................................19
4.3 转换...............................................................................20
4.3.1 输入.....................................................................20
4.3.1.1 生成记录................................................20
4.3.1.2 自定义常量数据...................................20
4.3.1.3 获取表名................................................21
4.3.1.4 获取系统信息.........................................23
4.3.1.5 表输入....................................................23
4.3.1.6 文本文件输入.........................................24
4.3.1.7 Xml 文件输入.........................................25
4.3.1.8 Excel 输入.............................................26
4.3.1.9 CSV 输入...............................................27
4.3.1.10 Json 输入...............................................28
4.3.2 输出......................................................................28
4.3.2.1 表输出.....................................................28
4.3.2.2 插入/更新...............................................29
4.3.2.3 更新..........................................................31
4.3.2.4 删除..........................................................31
4.3.2.5 文本文件输出...........................................32
4.3.2.6 Xml 文件输出...........................................33
4.3.2.7 Excel 文件输出........................................34
4.3.2.8 Json 输出..................................................35
4.3.2.9 Sql 文件输出............................................36
4.3.3 转换..........................................................................37
4.3.3.1 值映射.........................................................37
4.3.3.2 剪切字符串.................................................38
4.3.3.3 去除重复记录..............................................39
4.3.3.4 唯一行.........................................................40
4.3.3.5 增加常量.......................................................40
4.3.3.6 增加序列.......................................................41
4.3.3.7 字段选择.......................................................41
4.3.3.8 字符串操作......................................................42
4.3.3.9 字符串替换......................................................43
4.3.3.10 排序记录..........................................................43
4.3.3.11 设置字段值......................................................44
4.3.3.12 计算器..............................................................45
4.3.4 应用...............................................................................46
4.3.5 流程...............................................................................46
4.3.5.1 Switch / Case...............................................46
4.3.5.2 中止................................................................47
4.3.5.3 执行作业...........................................................47
4.3.5.4 检测空流...........................................................48
4.3.5.5 空操作................................................................49
4.3.5.6 识别流的最后一行.............................................49
4.3.5.7 过滤记录............................................................50
4.3.6 脚本.................................................................................51
4.3.6.1 Java 代码...........................................................51
4.3.6.2 Javascript 代码..................................................51
4.3.6.3 执行 sql 脚本.......................................................52
4.3.6.4 正则表达式...........................................................53
4.3.7 查询....................................................................................54
4.3.7.1 调用DB 存储过程.................................................54
4.3.7.2 流查询....................................................................55
4.3.7.3 数据库查询.............................................................56
4.3.8 连接......................................................................................58
4.3.8.1 合并记录................................................................58
4.3.8.2 排序合并................................................................59
4.3.8.3 记录关联(笛卡尔输出)............................................59
4.3.8.4 记录集连接.............................................................60
4.3.9 数据仓库...............................................................................61
4.3.9.1 维度查询/更新.......................................................61
4.3.9.2 联合查询/更新.......................................................62
4.3.10 作业...............................................................................63
4.3.11.1 设置变量...................................................................63
4.3.11.2 获取变量...................................................................63
4.3.11.3 复制记录到结果........................................................64
4.3.11.4 从结果中获取记录....................................................65
4.3.11 批量加载........................................................................65
4.3.11.5 ORACLE 批量加载.................................................65
4.4 作业..................................................................................................67
4.4.1 通用........................................................................................67
4.4.1.1 START.....................................................................67
4.4.1.2 DUMMY...................................................................67
4.4.1.3 作业..........................................................................68
4.4.1.4 成功...........................................................................69
4.4.1.5 设置变量...................................................................69
4.4.1.6 转换..........................................................................70
4.4.2 邮件.......................................................................................71
4.4.2.1 发送邮件...................................................................71
4.4.2.2 邮件验证..................................................................72
4.4.3 文件管理.................................................................................73
4.4.3.1 创建目录...................................................................73
4.4.3.2 创建文件...................................................................74
4.4.3.3 删除目录...................................................................74
4.4.3.4 删除一个文件.............................................................74
4.4.3.5 删除多个文件.............................................................75
4.4.4 条件...........................................................................................75
4.4.4.1 检查目录是否为空.......................................................75
4.4.4.2 检查一个文件是否存在................................................76
4.4.4.3 检查多个文件是否存在................................................76
4.4.4.4 检查文件是否被锁........................................................77
4.4.4.5 检查数据库连接............................................................78
4.4.4.6 检查表是否存在............................................................79
4.4.4.7 检查列是否存在............................................................79
4.4.4.8 检验字段的值................................................................80
4.4.4.9 计算表中的记录数.........................................................81
4.4.4.10 等待................................................................................82
4.4.4.11 计算文件的大小和个数.................................................83
4.4.5 脚本............................................................................................84
4.4.5.1 Shell............................................................................84
4.4.5.2 Sql...............................................................................85
4.4.5.3 使用 javascript 脚本验证...........................................86
4.5 资源导出.............................................................................................87
4.6 资源导入............................................................................................88
4.7 分区....................................................................................................88
4.8 集群....................................................................................................88
5. 示例演示.................................................................................................88
5.1 数据定时自动(自动抽取) 同步作业.....................................................89
5.1 两表数据比较,比较后自动同步(部门、单位数据同步) ..................100
6. 应用部署..............................................................................................107
6.1 运行方式...................................................................................107
7. 常见问题及解答.............................................................................108
8. 总结..........................................................................................................113