记录集合里面的记录数

该数量是指组件与组件之间通信的【缓存队列】的size大小,Kettle内部用List实现该缓存队列,每一条语句都会被封装成一个 RowSet对象,每个组件之间都会有个List<RowSet>队列,源step每次会往该队列写一条数据,目标step每次会从队列读取一条数据。

kettle里面转换是并行的,数据是一条一条流经每个组件,队列大小采用默认的10000条即可。

但是当使用到【阻塞数据直至步骤完成】、【阻塞数据】相关组件时,则需要根据业务数据量扩大该size的大小。

否则,数据会一直在某两个组件之间的缓存队列中存放,当数量达到一定大小时,就会卡主不动。

缓存队列的大小对作业没有影响,查看源码发现,缓存队列由inputRowSet 和 outputRowset组成,底部实现是ArrayList,初始化创建的时候,默认容量为10,并不会直接创建设定长度的 数组。并且使用ArrayList的特性:当要添加的数据量超过数组的容量时候,ArrayList会动态扩容,size扩大1.5倍