排序记录帮助文档

排序记录步骤是根据指定的字段对数据升序或者降序进行排列后,输出到流中,步骤配置信息如图1所示。

            排序记录帮助文档

 

                                                                图1 步骤配置信息

 

下文详细解释各控件的含义:

1、转换步骤名称:步骤的名称,在单一转换中,名称必须唯一。

2、排序目录:临时文件的存储路径 。海量数据排序时(输入行集容量超过第4个控件设置),不可能把所有数据都加载到内存来执行。这种情况下,Kettle会将数据分段缓冲,局部排序,并存入临时文件中。第2个控件正是设置缓冲区持久化存储的路径。可以用变量来获取,插件默认的变量是“%%java.io.tmpdir%%”,这个变量是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样,在Windows的缓存目录为:C:\Users\登录用户~1\AppData\Local\Temp\;Linux:/tmp。

3.临时文件前缀设置一个可识别的前缀,以便文件在临时文件目录中时对其进行标识。

4.排序缓存大小(内存里存放的记录数):设置缓存到内存中的行数。当读取的数据行数小于设置的数值时,则直接缓存在内存中,不会使用临时文件。当读取的数据行数大于设置的数值时,则会将数据存储在临时文件,此时如果没有设置临时文件则该步骤会报错。:当输入的行数非常多,需要用临时文件来存储时,会根据此处设置的值来存储相应行数数据到单个临时文件。因此设置的值越大,创建并打开的临时文件就越少,该步骤就越快。

5.未使用内存缓存值(%):未使用内存占JAVA虚拟机的百分比上限,默认值为25%。如果缓冲区行数达到第4个控件的设置或者剩余内存百分百小于此限制,都将执行局部排序操作。

6.是否压缩临时文件:勾选此项,对临时文件进行压缩。

7.是否传递非重复的记录(仅校验关键字):勾选此项,可避免重复的记录被写到临时文件和结果里面,:此项只校验指定关键字的唯一性。 

8.字段

(1)字段名称:选择流中的字段,并根据该字段对数据进行排序。

(2)升序:指定排序的规则。

(3)大小写敏感:若排序字段的值存在大小写,此项选择:是,则将大写字母和小写字母默认为不同的字段值,并按照ASCII码进行排序;此项选择:否,则将大写字母和小写字母默认为相同的字段值,再与其余字段值进行排序。

(4)是否使用排序器基于当前的语言环境进行排序:根据不同的语言环境对字段值进行排序。例如:B在德语中的另一写法为:β,若当前语言环境为德语,排序的字段值为:A、β、C,此项选择为:“是”后,才可将β当做B,对数据排序为:A、β、C。

(5)排序器排序强度:排序强度分为0、1、2、3四个强度,对应的是PRIMARY,SECONDARY,TERTIARY和IDENTICAL这四个值,IDENTICAL强度表示能够被进行相同的处理的字符必须是一致的。TERTIARY通常用于忽略大小写差异。SECONDARY用于忽略变音符,如n和ñ。 PRIMARY与IDENTICAL相似也是基于字母之间差异,但是当处理控制字符和发音时还是有所不同。

(6)是否预先分组:此项是对排序字段先分组,再进行排序。若选择是,则默认输入流中的数据已分组,在此步骤不再分组;若选择否,默认输入流中的数据未分组,在此步骤就先分组再进行排序,如图2所示。

              排序记录帮助文档

                                                                            图2