Kettle中“字符串操作”功能算子的使用

  ELT过程一般都是避免不了对字符串的操作,kettle中的“字符串操作”可以很便捷的帮我们处理一些关于字符串的问题,下面先对“字符串操作”的几个功能做一个介绍。

Trim type用来去除字符串的首尾空白字符(如space,tab),这里可以选择去除字符串头部空白字符(left),字符串尾部空白字符(right),头尾都去除空白字符(both)。

Lower/Upper就是简单的大小写转换,当然只是针对于英文字符的,汉字和数字是无效的。

Padding追加字符串,可以选择头部追加(left),或者尾部追加(right),不过这个是要配合“Pad char”和“Pad length”使用的。

Pad char只需要再输入框输入想要添加的字符串即可。

Pad length输入长度,这个可以这么理解,假如说未追加内容的字符串是abc长度为3,想要追加的字符串是wq,是以right的方式追加的,如果输入的长度是3,那么结果是没有任何改变的;如果输入的长度是4,那么结果就是abcw;输入的是5,那结果就是abcwq;输入的长度是6,那结果就是abcwqw,相信说到这里应该就很清楚了,不管“Padding”选择的是right还是left,规则都是一样的。

InitCap这个的作用就是保证字符串的首字母大写其余的字母都是小写,比如有一个字符串是aBC,如果InitCap的参数选择了“是”,那么结果就是“Abc”。

Escape这个一般应用的较少,比如说选择了其中的“Use CDATA”,那么最后出来的字符串就是CDATA格式的字符串“<![CDATA[test_str]]>”,标红的部分就是原本的字符串,其它的就不一一介绍了,感兴趣的实验一下就明白了。

Digitsdigits本身就是数字的意思,而选择的参数只有三两个“none、”“only”和“remove”,none就是不操作;only就是只保留数字,其他的字符不要;remove就是其他的字符都留下,只将数字字符去除掉。

Remove Special character这个就很简单了,就是去除特殊字符,可以根据需求选择需要删除的字符,如空格(space)、换行符(line feed)等,这里就不一一介绍了,如有疑惑可以百度翻译。

  每个部分的功能基本讲解清楚了,了解这个使用起来基本就没问题了,下面简单的介绍下如何使用。

1.核心对象->转换->字符串操作,将其拖拽到转换页面中,如下图所示
在这里插入图片描述
2.双击“字符串操作”,选择或者输入相关参数,前面已经讲解每个部分的作用和使用方法,这里就简单配置其中部分,如下图所示
在这里插入图片描述
3.库表中原始数据如图1所示,虚线标记的为空白字符(space),结果数据如图2所示

图1
在这里插入图片描述
图2
在这里插入图片描述
通过结果数据可以看出,就是按照配置的参数的规则对字符串进行操作,头部的空白字符已经去除掉了,并且追加的字符‘Q’也是按照输入的长度追加的MAN长度为3,输入长度为5,结果数据追加了两个字符‘Q’,WOMEN长度为5,结果数据没有变化,所以结果是正确的。

猜你喜欢

转载自blog.csdn.net/AnameJL/article/details/115215302