KETTLE使用通配符匹配多个文件输入到一张表中
在有些业务场景中,可能会有多个文件内部的数据都是相同类型的,一个一个文件的做输入会很麻烦,这个时候我们就可以通过通配符,即将多个内部数据结构一样的文件作为一张表输入。
- 核心对象 --> 输入 --> 获取文件名,将”获取文件”拖入到转换页面中
- 双击”获取文件名”,打开“获取文件名的参数配置窗口”,预览选好路径,再将正确的正则表达式填入,然后点击增加,做完后点击一下预览看看是否有获得自己想要的文件,最后点击确认就可以,可按照下图的流程来执行。
- 根据自己填写的正则将所需要的转换模块拖入到转化页面中,因为我这里使用的.txt所以使用”文本文件输入”,然后按住Shift将流程线路从”获取文件名”指向到”文本文件输入”,如下图所示
- 配置”文本文件输入”,双击“文本文件输入”,还是进行正常的配置,从下图可以看出,我是在”F:\etl\”这个路径下选择了一个文件作为文件输入,因为我这里etl这个路径下的txt文件数据结构都是一样的,所以任意拉取一个就可以,”内容”,”字段”这里我就不详细说了,之前都是讲解过的
- 在配置完相关参数后,最后要将“从以前步骤获取文件名字”,在将”步骤获取的文件名来自”填入正确的参数即可,在将“filename”这个字段名字填入,因为”filename”这个字段就是”获取文件名字”中的字段,字段值就是文件的路径,然后点击确定,如下图所示
在配置完之后,就可以将数据输出到库表当中了,表输出在后面也会有相关的笔记,这里就看一下结果数据,图一是文本文件中的数据,图二是转换流程,图三是库表中的数据。
图一
图二
图三
可以看到数据结果是一致的。