Java应用程序运行一个Ketter作业并接收结果

Java应用程序运行一个Ketter作业并接收结果,java,return-value,pentaho,kettle,Java,Return Value,Pentaho,Kettle,可以从Java应用程序运行Kettle作业/转换,然后在同一个Java应用程序中获得结果(例如一个变量?我会尝试执行转换。Kettle的JavaAPI可读性很强 上述方法不包括检索结果。您需要添加一些自定义逻辑来读取作业的输出数据。我不确定是否有一种通用的方法可以通过ETL实现这一点 您可以尝试将输出抓取到HSQLDB或另一个内存中的DB中,如前所述,然后手动提取输出。尽管从Java执行命令行可能并不理想,但下面的方法也可以。只需将cmd行替换为适当的路径并读入作业的输出文件即可 public

可以从Java应用程序运行Kettle作业/转换,然后在同一个Java应用程序中获得结果(例如一个变量?

我会尝试执行转换。Kettle的JavaAPI可读性很强

上述方法不包括检索结果。您需要添加一些自定义逻辑来读取作业的输出数据。我不确定是否有一种通用的方法可以通过ETL实现这一点


您可以尝试将输出抓取到HSQLDB或另一个内存中的DB中,如前所述,然后手动提取输出。

尽管从Java执行命令行可能并不理想,但下面的方法也可以。只需将cmd行替换为适当的路径并读入作业的输出文件即可

public static void main(String[] args) {

    try {
        String cmd = "\"c:\\Program Files\\Pentaho\\pdi-ce-5.0.1.A-stable\\data-integration\\kitchen.bat\" -file=\"c:\\users\\exampleuser\\desktop\\examplejob.kjb\"";
        System.out.println(cmd);
        Process process = Runtime.getRuntime().exec(cmd);
        process.waitFor();
    } catch (Exception e) {
        e.printStackTrace(System.err);
    }
    /*READ OUTPUT FILE OF KJB IN TO OBTAIN VALUES*/


}
* * * * *

请阅读,如果您提供的任何链接无法访问,您的答案将变得毫无用处。