2015-11-25 83 views
2

我是Pentaho的新手,並且已經完成了一項關於如何從Pentaho執行shell /批處理文件的研究。大部分在線信息都是在'Execute Shell'步驟中,而不是在v6中。Pentaho執行過程似乎不會啓動腳本文件

如何使用'執行進程'步驟運行shell腳本?

下面是我在做什麼,但腳本不會推出:

  • 拖動「執行進程」步入轉型窗口
  • 編輯步驟
  • 在過程現場插入完整路徑可執行文件(在Linux或C /home/root/pdi/script.sh:\用戶\ ADMIN \ PDI \ script.bat在Windows上,試圖在這兩個平臺)
  • 啓動作業

腳本非常簡單

mkdir new_folder 

任務完成並且新文件夾不出現。所描述的步驟是我正在做的。我錯過了什麼嗎?

我使用的PDI 6.0.0.0-353,只是想建立從PDI運行shell /批處理文件的過程。

非常感謝提前,因爲我不知道在哪裏尋找教程或信息,我卡在這個簡單的一步。

編輯: 如果我指定錯誤的文件名,我會得到相同的結果,就好像沒有錯。這就像它甚至沒有觸及腳本。這是甚至正確的路徑可執行文件在過程域?

  • 2015/11/25 12:51:14 - 勺 - 轉型開了。 2015/11/25
  • 12:51:14 - 勺子 - 啓動轉換[proc] ... 2015/11/25
  • 12:51:14 - 勺子 - 開始轉換執行。 2015/11/25
  • 12:51:14 - proc - 調度開始進行轉換[proc]
  • 2015/11/25 12:51:14 - 勺 - 轉換已完成!
+2

對於像這樣簡單的腳本,我會在作業中使用'Shell'步驟而不是轉換。 @ user4637357是正確的,因爲變換步驟需要輸入來填充它。該步驟旨在使用來自變換字段的參數多次調用腳本。 –

回答

4

對於從上一步返回的每一行,執行此步驟與許多其他步驟一樣。因此,如果您沒有上一步,那麼您的「執行進程」步驟永遠不會執行。

  • 請在「執行過程步驟」之前添加一些輸入步驟(例如,數據網格步驟)。並將其與「執行進程」步驟連接(在輸入步驟中按下鼠標中鍵,拖動到「執行進程」步驟,釋放鼠標按鈕)。

「過程字段」應該包含輸入數據集字段的名稱。該字段的值將被解釋爲shell命令。

  • 如果您使用數據網格作爲輸入步驟,請在您的數據網格步驟中創建新的字符串字段。然後在步驟的「數據」選項卡上創建一些行並將命令作爲字段的值。最後,編輯您的「執行過程」:將您創建的字段的名稱放入「過程域」。然後運行你的轉換。

一些注意事項:AFAIK,您必須在Windows中的shell命令之前添加cmd.exe /C。例如。 cmd.exe /C echo "Hello, world">d:\test.log。關於該文件夾:很可能,您當前的目錄將是您從中運行spoon.sh或spoon.bat的文件夾。

0

文件夾可能在您認爲的地方以外的某處。暫時將腳本更改爲:

echo Current Directory=%CD% 
mkdir new_folder 
dir 
pause 
+0

試過,仍然沒有文件夾。該腳本是否應該產生文件夾路徑的輸出? –

相關問題