全部,需要將變量從Shell Action傳遞到使用Hive的Oozie Shell
尋找將shell動作傳遞給oozie shell的變量。我在我的腳本中運行如下命令:
#!/bin/sh
evalDate="hive -e 'set hive.execution.engine=mr; select max(cast(create_date as int)) from db.table;'"
evalPartition=$(eval $evalBaais)
echo "evaldate=$evalPartition"
竅門是它是shell中的配置單元命令。
然後我運行這個得到它在Oozie的:
${wf:actionData('getPartitions')['evaldate']}
但它拉一個空白的每一次!我可以在我的shell中運行這些命令,它似乎工作,但oozie不。同樣,如果我在羣集的其他框上運行命令,它們也可以很好地運行。有任何想法嗎?
我不確定您是否可以從shell操作調用配置單元查詢。我建議你對配置單元查詢使用配置單元操作,然後傳遞可以捕獲的參數。另外不要忘記使用 –
KKa
嗯,我不認爲你可以保存Hive動作的輸出。從我的研究看來,你可以爲shell/ssh/java操作,但Hive不能像寫入磁盤那樣操作。我之前爲Sqoop運行過類似的操作 - 爲什麼它對於Sqoop而不是Hive? – theMJof91