kettle开发篇-空操作-Day21

前言:

前面我们讲到了switch case组件,通过不同的表达式的值将多个符合条件的值,输出至指定的位置,这就实现了复杂的数据分流操作,kettle其实就是把那些看似复杂的数据流,通过组件包裹起来,然后我们只需关心组件的核心部分即可,今天我们来学习一个有意识的组件叫空操作,这个组件也可以叫做“休息一下”没有任何语法,但是它的使用还是比较巧妙的,接下来让我们一起来看看吧。

一、空操作

空操作一般作为数据流的终点。我们在kettle的sample中经常使用,但是实际开发中很少使用。这是因为空操作就是啥都不干,我们也没必要在每个转换后面加上一个空操作来告诉别人,这个转换结束了,哈哈哈,这不得不提下前面我说到过的,其实组件在转换里面是没有顺序的,只有的优先级的概念。 kettle开发篇-空操作-Day21_第1张图片

空操作的配置也超级简单,就是组件的简介,如下图所示什么也不做。看起来非常的简洁。

kettle开发篇-空操作-Day21_第2张图片

二、实操

接下来我们做个转换,是从Excel读取数据,分离code为空的数据,空数据不执行任何操作,不为空的数据保持到Excel中。 kettle开发篇-空操作-Day21_第3张图片

此时做个需求肯定让你联想到昨天刚学的switch case 组件,当switch表达式值的字段code为空的时,我们输出至Excel1,当他不为空的时候数据保持到EXCEl2中,这时候我们会得到两份结果。但是我们的要求是为空时不输出结果,这个看起来不是很对。因此此时就需要用到空操作来结束对应数据为空的分支,我们将组件连接起来,什么也不需要操作。

最终的转换如下图所示,包括EXCEL输入、EXCEL输出、过滤记录、空操作四个组件,其中过滤记录,虽然前面没有重点讲解,这边就简单阐述下。组件功能类似if else 当记录满足条件时我们怎么去做,如记录不为空,我们就将结果输出至EXCEL中,为空时我们就什么也不做。最后我运行转换即可获取至我们想要的结果。 kettle开发篇-空操作-Day21_第4张图片

kettle开发篇-空操作-Day21_第5张图片

kettle开发篇-空操作-Day21_第6张图片

你可能感兴趣的:(Kettle从入门到抛弃)