kettle-输出组件

Posted qingxinziran007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle-输出组件相关的知识,希望对你有一定的参考价值。

        上一节,讲解了常用的输入组件(excel输入组件,文本输入组件,表输入组件,json输入组件)。对一个系统来说,有输入就必定有输出,输出组件反应的就是系统最终的处理结果,也就是业务产出。熟练的掌握输入输出组件,是学习kettle的关键环节,也是分析业务需求的重要法宝。

        本节将针对上一节中的输入组件,讲解其相对应的输出组件。这样便可以使同学们掌握kettle的基础运用能力。

excel输出组件

        工作中经常会遇到需要将从接口中查询出的数据导出为excel文件,供客户查看。如报表数据,crm数据等。掌握excel的导入导出是非常的重要。

第一步:打开上一节中的excel输入组件对应的ktr文件。在此基础上增加excel输出组件。

 其中,输入和输出组件之间的箭头(官方叫做hop),是通过按住shift键,鼠标分别点击输入组件和输出组件,就可以生成箭头了。hop用来连接组件,使数据按照箭头的指向进行传递。

第二步: 配置字段,字段的数据来源是从excel输入节点中获取的。不明白的同学参考上一节。

第三步:配置输出excel文件的保存位置

 第四步:执行转换,查看生成的excel文件。

此时你会发现是不是很简单啊,不用写poi代码,就能导出excel文件。你可能会想,如果把excel输入组件换成其他类型的输入组件,还能不能导出excel文件。答案是肯定的,因为excel是从过程流中获取到字段变量,无论输出节点前面有多少个组件(什么类型的都可以),都不会影响excel的导出。

文本文件输出组件

        文本文件看似工作中用到的不多,其实不然,比如csv文件,用到的就不比excel文件少。常见的还有txt文件,对于没有规则的数据可以导出为普通文本txt文件。

第一步:打开上一节中的文本文件输入组件,并在此基础上增加文本文件输出组件。

 第二步:配置字段,显然,该字段来自文本文件输入组件。

 第三步:配置导出txt文件的位置。

 第四步:执行转换,查看导出的txt文件。

你会发现,txt的文件内容,都是以分号分隔的,其实这就是标志的csv文件。那csv格式是可以转换为excel格式的,那又该怎么实现呢,是不是可以借助excel输入、输出组件呢。那是肯定可以实现的,这样岂不是实现了将txt文件与excel文件的相互转换。

表输出组件:

表输出组件就是将数据入库,这在业务系统中估计是最多的操作了吧,也就是咱们常说的增删改查。表输入输出组件几乎可以完成大部分的业务操作。

第一步:打开上一节中编写的表输入组件,并在此基础上增加表输出组件。

 第二步:配置表输入组件和表输出组件

这里使用了同一个库同一张表,在执行的时候会报错,因为id主键重复

第三步: 创建一个新库test,并创建一张新表(表结构同上):

修改表输出配置后,如下图:

第四步:执行转换,并查看新库中的数据,是否已经insert到表中。

 数据已经成功入库了,这就完成了表输出的流程。当然也可以将excel输入组件中的数据,文本文件中的数据入库。也就是无论通过什么样的组件导入的数据,都可以通过表述出组件入库。这应该是后端开发工程师的最爱。

json输出组件

一般情况下,业务场景中很少需要导出json文件。比如:与第三方平台对接时,定位错误原因的时候,往往需要提供详细的报文。就可以通过该组件导出json文件,供三方查看。

第一步:打开上一节中json输入组件,并在此基础上中增加json输出组件。

 第二步:配置字段,显然这些字段是从json输入组件中获取的。

 第三步:配置json导出文件的保存位置。

 第四步:执行转换并查看导出的文件。

 这里导出了5个json文件,为什么呢。这就更json输出组件的配置有关了,更过详细的配置,需要读者自行查看(自学是非常重要的),kettle组件的官方文档说明。

本节小结

        本节所讲述的输出组件与上一节所讲述的输入组件是一种一对一的关系。当然他们之间是可以进行混排的,是一种排列组合的关系。只需注意,第一个组件一定是输入类型的组件,否则是无法执行转换的。很好理解,系统是必须有输入的。相信,学习了本节之后,已经对kettle有了大致的理解,接下来就是要讲解,在输入组件与输出组件之间,能干什么,也即是其他类型组件的功能。

以上是关于kettle-输出组件的主要内容,如果未能解决你的问题,请参考以下文章

kettle-输出组件

kettle-输出组件

kettle-输出组件

kettle记录集连接组件中碰到的问题

kettle庖丁解牛第21篇之SQL文件输出

kettle 表输入 对结果集进行操作