我在Pentaho有一份工作。这项工作有许多子工作和许多转型。大多数转换都写入表。我想获得如下的一些统计信息。
我的代码是:使用这段代码,我只是得到了最后一次转换的结果。例如,如果我运行40变换,我的结果只是第40个变换结果。但我希望看到所有40个转换结果。
KettleEnvironment.init();
JobMeta jobMeta = new JobMeta("Job.kjb", null);
Job job = new Job(null, jobMeta);
job.start();
job.waitUntilFinished()
Result result = job.getResult();
System.out.println("dfffdgfdg: "+result.getLogText());
答案 0 :(得分:0)
使用logging system。在每次感兴趣的转换时,右键单击任意位置,选择设置,然后记录并设置要收集统计数据的数据(例如,在“输出”按钮前面选择在要监视的表上写入数据的步骤) 。我建议你使用默认值来开始。
之后,按下SQL按钮,Pentaho Data Integrator将在数据库中创建一个包含相关列的表。每次运行转换(或任何使用相同存储库的人)都会在表中放置一行。之后,只需SELECT * FROM TRANSFORMATION_LOG。
在上一篇Pentaho Meetup中,我解释了为什么要在转换级别和工作级别执行此操作(尽管如果您知道如何在存储库中导航,则可以自动执行此操作)。你还有一个指向带有JSP的github的指针,你可以在你的Pentaho BA服务器的WEB_INF中复制/粘贴它,这样你就可以得到你在web服务器中的完全信息。
不要犹豫,要求提供更多信息或提供反馈。