kettle源码分析之job执行

kettle源码分析之job执行

ID:10599592

大小:79.50 KB

页数:9页

时间:2018-07-07

kettle源码分析之job执行_第1页
kettle源码分析之job执行_第2页
kettle源码分析之job执行_第3页
kettle源码分析之job执行_第4页
kettle源码分析之job执行_第5页
资源描述:

《kettle源码分析之job执行》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Kettle源码分析之Job执行1.源码结构如图所示主要有五个sourcefolder组成src包含调度逻辑和具体的执行代码。最重要的两个包为org.pentaho.di.job和org.pentaho.di.trans。src-ui主要是一些图形界面的代码,最主要的是org.pentaho.di.ui包。test未研究,应该是一些Junit测试的代码,scr-core主要是定义了系统用到的一些值类型和对应的接口、异常类、XML相关的接口及封装、log设置、组件加载、行数据、元信息等src-db最主要的是org.pen

2、taho.di.core.database包,包含各数据库对应的元数据类和不同数据库必须继承的基类和必须实现的接口。2Job执行相关的类与接口2.1JobGraph类维护整个Job编辑区的信息和相应的操作主要的成员变量和方法privateJobMetajobMeta;由Job编辑面板动态维护privateRepositoryrep;privateJobjob;privateJobTrackerjobTracker;用于跟踪日志记录privateDatestartDate,endDate,currentDate,logD

3、ate,depDate;privatebooleanactive,stopped;状态位privateListsourceRows;返回结果的数据内容privateResultresult;每次执行完一个jobentry返回结果publicsynchronizedvoidstartJob(JobExecutionConfigurationexecutionConfiguration)throwsKettleException2.2JobMeta维护整个Job的元数据。主要成员变量:pro

4、tectedStringname;protectedStringfilename;publicListjobcopies;保存不同、JobEntry或者相同JobEntry的副本列表publicListjobhops;保存jobentries之间的链接关系。publicListdatabases;2.3JobEntryInterface每个具体org.pentaho.di.job.entries包下的entry类需要实现的接口。包含exec

5、ute()方法。2.4Result每一个jobEntryInterface的实现类在完成相应功能时,返回结果的类型。主要成员变量:privatebooleanresult;执行是否出现异常privateintexitStatus;执行结果状态privateListrows;一个jobEntry完成处理后的数据(若存在)privateMapresultFiles;2.5JobEntryCopy维护每一个不同entry或者相同entry的不同副本的信息主

6、要成员:privateJobEntryInterfaceentry;具体entry,执行入口privateintnr;副本数,一个编辑区里可以出现多个相同组件privatebooleanselected;privatePointlocation;图标位置privatebooleandraw;privateObjectIdid;3.Kettle之Kitchen为入口执行Job3.1包src源码文件夹下的org.pentaho.di.kitchen3.2作用Kitchen是以命令行的方式调用执行Job3.3主要使用的类和流

7、程l初始化Kettle环境l解析命令行参数获取Job对象l执行Job3.3.1初始化环境使用KettleEnvironment.init()方法,KettleEnvironment类待研究3.3.2解析命令行参数-rep请求的资源库-user资源库用户名-pass资源库密码-job资源库中job的名称-dir资源库中的目录-file要执行的文件的文件名称包括路径-level日志级别-log指定日志文件-listdir列出资源库中所有目录-listjobs列出指定目录下的所有jobs-listrep列出可用的资源库-no

8、rep不记录日志到资源库3.3.3执行JobJob继承Thread类,是一个线程,Job运行需使用job.start()方法publicclassJobextendsThreadimplementsVariableSpace,NamedParams,HasLogChannelInterface,LoggingObjectInter

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。