嗨,我对 pentaho 水壶勺很陌生。我想要一个示例程序,它从 .csv 文件获取输入并推送到数据库中,在特定时间(例如凌晨 2:30)之后,将运行一个作业,并且该数据库(sql 开发人员)中的 csv 格式的少量记录将通过电子邮件发送给用户。我使用 Java 来调用转换,如下所示:
public static void main(String[] args) {
try {
KettleEnvironment.init();
TransMeta metaData = new TransMeta("hello.ktr");
Trans trans = new Trans( metaData );
trans.execute( null );
trans.waitUntilFinished();
if ( trans.getErrors() > 0 ) {
System.out.print( "Error Executing transformation" );
}
}
catch( KettleException e ) {
e.printStackTrace();
}
}
这里我在 Spoon 中创建了 HelloWorld(hello.ktr) 程序并在 java 代码中调用它。我想做类似的事情。在 Spoon 中进行转换和工作并调用我的 Java 代码。请帮我解决这个问题。
最佳答案
为什么不使用 crontab 将程序安排在凌晨 2:30 运行?在 lunux 中,创建一个任意名称的脚本,例如 start.sh 并添加以下脚本代码:
#!/bin/bash
30 2 * * * /root/transScript.sh /dev/null 2>&1 | mail -s "Cronjob ouput" saket@gmail.com
然后创建另一个脚本(可能称为 transScript,如/root/transScript.sh),并在脚本中添加以下内容以使用 pan 运行转换。 pan 是通过命令行运行kettle 转换的工具。要通过命令行运行水壶作业,您必须使用厨房。
$ cat pdi.sh
#!/bin/bash
/opt/data-integration/pan.sh -file=/Users/saket/Transformations/hello.ktr
/level:Basic
然后您所要做的就是运行此命令来开始计划任务:
crontab start.sh
关于java - 使用 Java 在 pentaho Kettle-spoon 中进行转换和工作的示例程序(Eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27380640/