繁体   English   中英

使用Java(eclipse)在pentaho kettle-spoon中进行转换和工作的示例程序

[英]Sample program for transformation and job in pentaho kettle-spoon using Java (eclipse)

嗨,我对pentaho水壶勺很新。 我想要一个示例程序,它从.csv文件中获取输入并推送到数据库中,在一定时间之后,如上午2:30,一个作业将运行,来自该数据库(sql developer)的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代码中调用它。 我想做类似的事情。 用勺子进行转换和工作并调用我的java代码。 请帮助我。

为什么不安排程序在凌晨2:30使用crontab运行? 在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是通过命令行运行水壶转换的工具。 要通过命令行运行水壶作业,您必须使用厨房。

$ cat pdi.sh
#!/bin/bash
/opt/data-integration/pan.sh -file=/Users/saket/Transformations/hello.ktr 
/level:Basic

然后,您只需运行此命令即可开始计划任务:

crontab start.sh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM