0

我正在考虑使用 pentahose 来帮助我转换来自多个来源的不同 xml 文件,以将数据集成到我的系统中。这些 xml 由 java 程序每 10 分钟从 Internet 下载一次。如果我想使用 Kettle 转换数据,是否需要 Pentahose 服务器来运行转换?或者有没有办法将转换导出到 java 类以便我可以使用它们?我会很感激任何类型的方向:)

4

3 回答 3

1

如果你想运行转换,你只需要命令控制台 pan.sh,如果你要运行作业,你需要执行 kitchen.sh 命令。看看 carte.sh 服务器,它是一个独立的网络服务器,允许您将转换和作业远程发送到另一台机器。(内联网、互联网)。

回答您关于 java 代码的其他问题:不,kettle 不会根据您的转换和作业生成 java 代码,只会生成 xml。

于 2012-11-10T13:08:54.547 回答
1

你不需要服务器。您可以使用 Kitchen 命令行运行您的 Kettle 作业。您可以轻松地设置一个 cron 作业以按设定的时间间隔执行您的作业。

http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation

于 2012-11-08T21:41:42.703 回答
0

要运行转换和作业,您需要使用 pan 和 kitchen(linux 的 sh 版本和 windows 的 bat)阅读此处http://infocenter.pentaho.com/help/index.jsp?topic=%2Fpdi_user_guide%2Fconcept_cli_scripting.html。如果您想直接从 java 中运行转换/作业,您需要将“lib”和“libswt”(以及某些版本的kettle 的libext)导入您的java 项目并使用kettle 的java API:

    KettleEnvironment.init();
    JobMeta jobMeta = new JobMeta("job path",null);
    jobMeta.setParameterValue("param name",value);
    Job job = new Job(null,jobMeta);
    job.setLogLevel(LogLevel.BASIC);
    job.start();
    job.waitUntilFinished();
    Result result = job.getResult();
    if (!result.getResult()){
         //manage the error case
    }

这是一个使用java API的例子,kettle是用java制作的,所以它是完全可集成的

于 2014-10-14T12:14:39.073 回答