簡體   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