数据预处理之文件转换kettle:没有数据流入时停止操作

时间:2024-03-16 09:36:43

【实验目的】

利用Kettle阻塞数据直到步骤都完成检测空流中止等组件,实现Kettle转换流程的控制。

【实验原理】

检测空流”组件可以检测所在转换的输入数据,如果整个转换没有输入数据,通过“中止”组件终止整个转换的流程。

在存在数据输入的情况,为了能让数据输出,需要和“阻塞数据直到步骤都完成”配合使用。当所有数据都已经从上个步骤“字段选择”读取完毕后,通过“阻塞数据直到步骤都完成”使能打开数据通道,进入到“Microsoft Excel 输出”输出数据到表格。

【实验步骤】

一、创建转换

1.点击,在下拉菜单中点击选择,这样创建了一个转换文件。我们点击,重命名该转换文件,保存在某个指定的路径。

数据预处理之文件转换kettle:没有数据流入时停止操作

2.我们在新建的转换文件上开始可视化编程。需要的组件如下图所示。选择好组件好,按下图所示连接好组件。主要组件为:excel input,select values,detect empty stream,Block until steps finish,Abort,Excel Writer。

数据预处理之文件转换kettle:没有数据流入时停止操作

二、可视化编程

1. “Excel输入”的配置:

数据预处理之文件转换kettle:没有数据流入时停止操作

数据预处理之文件转换kettle:没有数据流入时停止操作 

数据预处理之文件转换kettle:没有数据流入时停止操作

 2.“字段选择”的配置:

数据预处理之文件转换kettle:没有数据流入时停止操作 

 3.“检测空流”的配置

数据预处理之文件转换kettle:没有数据流入时停止操作

4.“中止”配置:

 数据预处理之文件转换kettle:没有数据流入时停止操作

 5.“阻塞数据直到步骤都完成”配置:

数据预处理之文件转换kettle:没有数据流入时停止操作

 6.“Microsoft Excel 输出”配置:

数据预处理之文件转换kettle:没有数据流入时停止操作

 

 

三.运行程序:

点击开始运行程序,在弹出的对话框中,选择运行该程序。

数据预处理之文件转换kettle:没有数据流入时停止操作

运行结果:

数据预处理之文件转换kettle:没有数据流入时停止操作

四.实验结果

输入数据

(1) 课程信息表.

数据预处理之文件转换kettle:没有数据流入时停止操作

 

 

输出数据:

“Microsoft Excel 输出”输出数据:

数据预处理之文件转换kettle:没有数据流入时停止操作

 数据预处理之文件转换kettle:没有数据流入时停止操作

异常输入数据:

当配置“Excel输入”步骤读入一个不存在的数据EXCEL表格时,将会触发“检测空流”组件检测到空数据,通过“中止”组件终止整个流程。
“Excel输入”步骤配置如下:

 

数据预处理之文件转换kettle:没有数据流入时停止操作

 

异常输出数据:

整个转换终止,“Microsoft Excel 输出”步骤无数据输出。程序运行记录如下,提示中止信息。

数据预处理之文件转换kettle:没有数据流入时停止操作