kettle版本7.1,java版本必须是1.8
实例1:text文件只有一列
1.同时读取多个文件
使用Text file input工具
若是读取单个文档,直接输入:路径加文件名即可
若是读取多个文件,输入文件所在目录,然后在第二个框输入你文件名对应的正则表达式,之后再点击add,验证是否添加成功,去下方点击show filenames看看有没有你要添加的文件。
读取所有文件可以用“.*.*” 也可以用“.*\.*”。PS:你直接输入“*”是不行的,读取特定条件的文件可用“zhang.*\.txt”,此句就是把以zhang开头,后缀是txt文件输入
2.row flatter功能
作用:通过增加列减少记录条数
读取文件内容如图:
你在Text file input 中的filed字段下输入text,String他就会把每一行自动读取并把空白行消除。你再使用row flatter
他就会把text的所有按照你target field的字段重新分配到各个字段下。
3.Regex Evaluation使用
把一个字段里面的信息分解
指明需要分解的字段。
图中的Regular expression意思是:冒号前面是“Published”或者是“Expected”,冒号是另外一个String就行
输出如图,只要满足Regular expression,result返回Y,否则返回N
4.Replace in string
将文档中的一个字符串替换
这个意思就是从price字段里面搜索,把Our price全部替换为空。
5.select value
作用之一:替换元数据的类型和格式
由于你从TXT文档读的数据全是String所以使用这个把其类型改为Number,并改其格式
上面五个操作执行完后输出如图:
实例2:txt文件有多列数据,并且有的列占了很多的位置
数据如图: