目录
1.4.3.3“Microsoft Excel 输出”的配置:
1.4.3.5“Microsoft Excel 输出”的配置:
1.4.3.5“Microsoft Excel 输出”的配置:
1.4.3.3“排序记录”的配置:“唯一行(哈希值)”,“排序记录”,“拆分字段”,“过滤记录”,“合并记录”,“替换NULL值”
1.4.3.5“过滤记录 输出”的配置:“唯一行(哈希值)”,“排序记录”,“拆分字段”,“过滤记录”, “合并记录”,“替换NULL值”
1.4.3.7“Microsoft Excel 输出”和“Microsoft Excel 输出2”的配置:
1.4.3.4“Microsoft Excel 中间标志数据输出”的配置:
1.4.3.4“Microsoft Excel 输出”的配置:
1.4.3.4“JavaScript代码”,“JavaScript代码 2”,“JavaScript代码 3”的配置:
1.4.3.5“字段选择”,“字段选择2”,“字段选择3”的配置:点击编辑,选择相关的字段。
1.4.3.6“追加流”的配置:点击编辑选择数据流的输入顺序。
1.4.3.7“追加流2”的配置:点击编辑选择数据流的输入顺序。
1.4.3.8“Microsoft Excel 输出”的配置:
1.4.3.9“Microsoft Excel 输出2”的配置:
1.4.3.10“Microsoft Excel 输出3”的配置:
1.4.3.11“Microsoft Excel 输出4”的配置:
1.4.3.4“记录集连接”的配置:这里选择了内连接,就是两张表的数据通过讲师这个字段连接起来。
1.4.3.5“字段选择”的配置:点击编辑,选择相关的字段,然后重新命名编号和编号_1字段。
1.4.3.6“排序记录3”的配置:重新选择安装课程编号进行升序的排序,是的后续输出整齐。
1.4.3.7“Microsoft Excel 输出”的配置:
实验一 环境搭建、生成测试数据(1)
1.1 实验目的
头两周让全体学生掌握kettle环境搭建方法,处理好各种潜在问题,为后续试验做足准备。
1.2 实验要求
掌握kettle环境搭建方法,处理好各种潜在问题。
1.3 实验原理
通过搭建kettle的环境,解决各种文件下载问题、mysql操作和相关环境配置问题、各种报错问题的处理,为后续试验做足准备。
1.4 实验步骤
1.4.1下载并安装Java,配置环境变量
环境变量名称 | 配置方式 | |
JAVA_HOME | C:\Program Files\Java\jdk-1.8(注:此为安装路径) | 新建 |
CLASSPATH | .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar | 新建 |
Path | .;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin | 追加 |
1.4.2. Kettle的下载安装与spoon启动,为spoon.bat创建一个 Windows桌面快捷方式。选中spoon.bat右击创建快捷方式-快捷文件复制到桌面--选中右击--选择属性—点击“更改图标”按钮可以为这个快捷方式选中一个容易识别的图标,一般选择 Kettle目录下的spoon.ico文件。
1.4.3 额外的jar包支持,在本书选择5.1.46版本下载,下载完毕后,解压压缩包,将mysql-connector-java-5.1.46-bin.jar文件存放到\data-integration\lib\路径下。然后,关闭Kettle后再次打开Kettle,使得该jar包生效。该jar包生效后,可在“表输入”步骤中配置MySQL数据库客户端连接到服务端的参数,连接到相关的数据库,获取相关的表格数据输出到Excel表格中。
1.4.4 由于今后的实验需要从MySQL数据库获取表格数据。需预先下载安装MySQL数据库,通过客户端创建数据库与表,并输入数据。
1.5 实验结果
(1)Java安装完成后,win+r输入cmd弹出命令窗口输入:java -version显示下图表示安装成功。
(2)win+r输入cmd弹出命令窗口输入:javac显示下图表示Java环境配置正确成功。
(3) Kettle的spoon启动
实验一 环境准备、生成测试数据(2)
1.1 实验目的
利用Kettle的“生成随机数”,“JavaScript代码”组件,生成测试数据。
1.2 实验要求
熟练掌握“生成随机数”,“JavaScript代码”组件的使用,实现生成不同类型的测试数据。
1.3 实验原理
通过“生成随机数”生成随机0~1的小数,随机的字符串,随机的整数。再利用“JavaScript代码”编写代码处理随机的数或字符串,输出一定范围的小数,日期和有一定规律形式的整数。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“生成随机数”的配置:
其中,Type为Random number,生成的随机数在0~1范围的小数; Type为Random integer,生成随机的正负整数;Type为Random string,生成随机的字符串。
然后右键点击“生成随机数”的组件,选择生成多少份相同的数据,在这里,我们选择了生成100份相同的数据。
1.4.3.2“JavaScript代码”的配置:
在此代码上,对于“数字”字段,配置为0~50范围的小数。
对于“字符串”字段,配置为选取随机字符串的前5个字符。
对于“整数”字段,配置为50的倍数。
对于“日期”字段,配置为2000年的日期。
1.4.3.3“Microsoft Excel 输出”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行改程序。
1.5 实验结果
1.5.1 输入数据
(1)“生成随机数”组件生成随机数。(注意:因为是随机生成,每次生成的数据都不一样,以下的仅作参考)
1.5.2 “JavaScript代码”输出数据:
1.5.3 “Microsoft Excel 输出”输出数据:
实验二 数据全量/增量/比较更新(1)
数据全量更新
1.1 实验目的
利用Kettle的“表输入”,“表输出”,”JavaScript代码”组件,实现数据全量更新。
1.2 实验要求
熟练掌握“JavaScript代码”,“表输入”,“表输入出”组件的使用,实现数据全量更新。
1.3 实验原理
通过“表输入”对mySQL表格的数据读入,然后通过“JavaScript代码”更新抽取数据的时间,再通过“表输入出”保存表格到mySQL数据库。
1.4 实验步骤
1.4.1 创建转换:
点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“表输入”的配置:
数据库的链接配置如下图,当然,需要提取在数据库中创建“testbase”的数据库,并先创建好“课程信息表”,存入1.5.1步骤中的数据。
1.4.3.2“JavaScript代码”的配置:
1.4.3.3“表输出”的配置:
1.4.3.3“表输出2”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行改程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 “表输出”输出数据:
1.5.3 “表输出2”输出数据:(注意:此为下个实验所使用的数据)
实验二 数据全量/增量/比较更新(2)
比较更新、增量更新
1.1 实验目的
利用Kettle的“表输入”,“插入 / 更新”组件,实现数据比较更新。
1.2 实验要求
熟练掌握 “表输入”,“插入 / 更新”组件的使用,实现数据比较更新。
1.3 实验原理
通过“表输入”对mySQL表格的数据读入,然后通过“插入 / 更新”更新新增的数据插入到目标表“tab_out3”。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“表输入”的配置:
数据库的链接配置如下图,当然,需要提取在数据库中创建“testbase”的数据库,并先创建好“课程信息表”,存入1.5.1步骤中的数据。
1.4.3.2“插入 / 更新”的配置如下图。“Update fields”配置每个字段更新了记录,都会保存到目标表中。
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 数据全量/增量/比较更新(1)-数据全量更新的“表输出”输出数据:
1.5.3 插入更新如下数据,然后再运行此转换。
1.5.4 如上1.5.3步骤,插入更新数据后,“表输出”输出数据如下图,我们对比发现,新插入和更新的记录都被保存到了目标表。
实验三 字符串操作(1)
1.1 实验目的
利用Kettle的“过滤记录”,“字符串替换”,“字符串操作”组件,实现记录的过滤,字符串替换及字符串的去空格功能。
1.2 实验要求
熟练掌握“过滤记录”,“字符串替换”,“字符串操作”等组件的使用,实现记录的过滤,字符串替换及字符串的去空格功能。
1.3 实验原理
通过“过滤记录”对单元格为空的记录进行过滤,然后通过“字符串替换”指定替换单元格中某些特定内容,再通过“字符串操作”实现字符串的去空格功能。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“过滤记录”的配置:
1.4.3.3“字符串替换”的配置:
1.4.3.4“字符串操作”的配置:
1.4.3.5“Microsoft Excel 输出”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 输出数据:
实验三 字符串操作(2)
1.1 实验目的
利用Kettle的“剪切字符串”,“字符串替换”,“字符串操作”组件,实现记录的过滤,字符串替换及字符串的去空格功能。
1.2 实验要求
熟练掌握“剪切字符串”,“字符串替换”,“字符串操作”等组件的使用,实现记录的剪切,字符串替换及字符串的去空格功能。
1.3 实验原理
通过“剪切字符串”对相关数据进行剪切复制到输出流,然后通过“字符串替换”指定替换单元格中某些特定内容,再通过“字符串操作”实现字符串的去空格和强制转换字母小写功能。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“剪切字符串”的配置:
1.4.3.3“字符串替换”的配置:
1.4.3.4“字符串操作”的配置:
1.4.3.5“Microsoft Excel 输出”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 输出数据:
实验四 去除重复数据
1.1 实验目的
主要利用Kettle的“唯一行(哈希值)”组件,实现去除重复数据。
1.2 实验要求
熟练掌握“唯一行(哈希值)”,“排序记录”,“拆分字段”,“过滤记录”,“合并记录”,“替换NULL值”等组件的使用,在实现去除重复数据的同时完成空值替换。
1.3 实验原理
通过“唯一行(哈希值)”对表格的主键去除重复的记录,然后通过“排序记录”以开课时间进行排序,再通过“拆分字段”对表格的课程大类字段进行拆分,然后在“过滤记录”的基础上,使用“替换NULL值”将表格课程具体分类的空值进行替换,最后输出数据到表格。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“唯一行(哈希值)”的配置:
1.4.3.3“排序记录”的配置:“唯一行(哈希值)”,“排序记录”,“拆分字段”,“过滤记录”,“合并记录”,“替换NULL值”
1.4.3.4“拆分字段”的配置:
1.4.3.5“过滤记录 输出”的配置:“唯一行(哈希值)”,“排序记录”,“拆分字段”,“过滤记录”, “合并记录”,“替换NULL值”
1.4.3.6“替换NULL值”的配置:
1.4.3.7“Microsoft Excel 输出”和“Microsoft Excel 输出2”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 输出数据:
(1)Microsoft Excel 输出
(2)Microsoft Excel 2 输出
实验五 数据质量统计
1.1 实验目的
利用Kettle的“分组”,“JavaScript代码”,“字段选择”组件,实现数据质量统计。
1.2 实验要求
熟练掌握“JavaScript代码”,“分组”等组件的使用,实现数据质量统计。
1.3 实验原理
通过“JavaScript代码”对表格的记录进行质量分类,然后通过“字段选择”生成带质量标志位字段的数据,再通过“分组”统计数据的质量问题。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“JavaScript代码”的配置:
1.4.3.3“字段选择”的配置:
1.4.3.4“Microsoft Excel 中间标志数据输出”的配置:
1.4.3.3“分组”的配置:
1.4.3.4“Microsoft Excel 输出”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。更
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2“Microsoft Excel 中间标志数据输出”
1.5.2 “Microsoft Excel 数据质量统计输出”输出数据:
实验六 多数据源合并
1.1 实验目的
利用Kettle的“追加流”等组件,完成多个数据源的合并。
1.2 实验要求
熟练掌握“追加流”,“JavaScript代码”,“字段选择”等组件的使用,完成多个数据源的合并。
1.3 实验原理
通过“字段选择”选择要最终输出的字段到下一个步骤“追加流”(实验中必须保证每个数据源经过字段选择后,输出的字段都是一致的),再通过“追加流”设置2个数据源的合并顺序,然后通过“追加流”进行多个据源的合并。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“Excel输入 2”的配置:
1.4.3.3“Excel输入 3”的配置:
1.4.3.4“JavaScript代码”,“JavaScript代码 2”,“JavaScript代码 3”的配置:
1.4.3.5“字段选择”,“字段选择2”,“字段选择3”的配置:点击,选择相关的字段。
1.4.3.6“追加流”的配置:点击选择数据流的输入顺序。
1.4.3.7“追加流2”的配置:点击选择数据流的输入顺序。
1.4.3.8“Microsoft Excel 输出”的配置
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表-1:
(2)课程信息表-2:
(3)课程信息表-3:
1.5.2 输出数据:
实验七 数据分流
1.1 实验目的
利用Kettle的“Select values”,“Modified Java Script Value”,“Filter rows”组件,实现数据分流。
1.2 实验要求
熟练掌握“Modified Java Script Value”,“Filter rows”等组件的使用,实现数据分流。
1.3 实验原理
通过“Modified Java Script Value”对表格的“讲师”字段进行分组后分流序,然后通过“Filter rows”等组件输出分流后的数据到表格。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“Excel输入”的配置:
1.4.3.2“字段选择”的配置:
1.4.3.3“JavaScript代码”的配置:
1.4.3.4“过滤记录”的配置:
1.4.3.5“过滤记录2”的配置:
1.4.3.6“过滤记录3”的配置:
1.4.3.7“过滤记录4”的配置:
1.4.3.8“Microsoft Excel 输出”的配置:
1.4.3.9“Microsoft Excel 输出2”的配置:
1.4.3.10“Microsoft Excel 输出3”的配置:
1.4.3.11“Microsoft Excel 输出4”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行该程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
1.5.2 “Microsoft Excel 输出”输出数据:
1.5.3 “Microsoft Excel 输出2”输出数据:
1.5.4 “Microsoft Excel 输出3”输出数据:
1.5.5 “Microsoft Excel 输出4”输出数据:
实验八 查找表映射
1.1 实验目的
利用Kettle的“合并排序”等组件,构建面向对象分析的数据仓库。
1.2 实验要求
熟练掌握“排序记录”,“合并排序”,“字段选择”等组件的使用,构建面向对象分析的数据表格。
1.3 实验原理
通过“排序记录”对多张表格的外键进行排序,然后通过“记录集连接”进行多表连接,再通过“字段选择”选择合适的字段输出到表格。
1.4 实验步骤
1.4.1 创建转换:点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击图片,重命名该转换文件,保存在某个指定的路径。
1.4.2 我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。
1.4.3 各组件的配置:
1.4.3.1“课程信息表_事实表”的配置:
1.4.3.2“老师信息表_事实表”的配置:
1.4.3.3“排序记录”的配置:
1.4.3.3“排序记录2”的配置:
1.4.3.4“记录集连接”的配置:这里选择了内连接,就是两张表的数据通过讲师这个字段连接起来。
1.4.3.5“字段选择”的配置:点击,选择相关的字段,然后重新命名编号和编号_1字段。
1.4.3.6“排序记录3”的配置:重新选择安装课程编号进行升序的排序,是的后续输出整齐。
1.4.3.7“Microsoft Excel 输出”的配置:
1.4.4 运行程序:点击开始运行程序,在弹出的对话框中,选择运行改程序。
1.5 实验结果
1.5.1 输入数据
(1)课程信息表.
(2)讲师信息表.
1.5.2 输出数据: