kettle 4.4源码分析之Transformation

本文详细分析了Kettle 4.4中Transformation的相关类和接口,包括JobEntryTrans、TransGraph、TransMeta等,并介绍了Transformation的执行过程,从JobEntryTrans的execute()到Trans的startThreads(),阐述了数据处理的流程及Step的执行机制。通过RowSet和RowMetaAndData理解了数据在不同Step间如何流动和处理。
摘要由CSDN通过智能技术生成

1.1. 相关类和接口

1.1.1. JobEntryTrans

实现了JobEntryInterfaceexecute()方法,被job执行。由JobEntryTrans实例化Trans,并执行。

1.1.2. TransGraph

当点击trans面板的run时,由TransGraph实例化Trans,并执行。

Trans主要成员有:

private TransMeta transMeta;

private Repository repository;

   private Job parentJob;

private Trans parentTrans;

   private List<RowSetrowsets;

private List<StepMetaDataCombi> steps

其中最重要的是rowsetssteps。rowsets保存了所有hop对应的行元数据和数据信息。List<StepMetaDataCombi> steps封装了一个step的主要内容。

1.1.3. TransMeta

描述了整个Trans的元数据信息。 主要的属性成员有:

    private List<StepMeta>           steps;

private List<TransHopMeta>       hops;

private String              name;

private Result            previousResult;上一个jobentry的执行结果。

    private List<RowMetaAndData> resultRows;这次trans执行后的数据结果。

    private List<ResultFile>     resultFiles;            

resultRows成员将作为result比部分返回多行的元数据和数据(如果有的话)需要返回数据结果时。把resultRows加入Result结果的rows列表,并返回。

1.1.4. StepMetaDataCombi

提取了一个step所需的主要信息。

public class StepMetaDataCombi

{

    public StepMeta stepMeta;

    public String stepname;

    public int    copy;

    public StepInterface     step;

    public StepMetaInterface meta;

    public StepDataInterface data;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值