3
如何從命令行運行筆記本電腦?如何從命令行運行zeppelin筆記本(自動)
除1之外,我如何將命令行參數傳遞到筆記本中?即從筆記本代碼中訪問命令行參數?
如何從命令行運行筆記本電腦?如何從命令行運行zeppelin筆記本(自動)
除1之外,我如何將命令行參數傳遞到筆記本中?即從筆記本代碼中訪問命令行參數?
所以我有同樣的問題,並設法解決如何使用API來運行使用curl的筆記本。至於傳入命令行參數,認爲根本沒有辦法做到這一點 - 你將不得不在服務器上使用某種共享狀態(例如讓筆記本從文件中讀取並修改文件)。
無論如何,這是我如何設法運行一個筆記本,它假定安裝了jq
。漂亮參與:(
curl -XGET http://${ip}:8080/api/interpreter/setting | jq '.body[] | .id'
interpreter_settings_ids=`curl -XGET http://${ip}:8080/api/interpreter/setting | jq '.body[] | .id'`
id_array="["`echo ${interpreter_settings_ids} | tr ' ' ','`"]"
curl -XPUT -d $id_array http://${ip}:8080/api/notebook/interpreter/bind/${notebook_id}
curl -XPOST http://${ip}:8080/api/notebook/job/${notebook_id}
如果有人手動點擊「保存」按鈕,然後解釋綁定只需要一個命令
更新:
OK我想你可以循環到探測正在運行的筆記本電腦的狀態,以確定如果筆記本失敗,請參見:https://github.com/eBay/Zeppelin/blob/master/docs/rest-api/rest-notebook.md
例如
function job_success {
num_cells=`curl -XGET http://${ip}:8080/api/notebook/job/${notebook_id} 2>/dev/null | jq '.body[] | .status' | wc -l`
num_successes=`curl -XGET http://${ip}:8080/api/notebook/job/${notebook_id} 2>/dev/null | jq '.body[] | .status' | grep FINISHED | wc -l`
test ${num_cells} = ${num_successes}
}
function job_fail {
curl -XGET http://${ip}:8080/api/notebook/job/${notebook_id} 2>/dev/null | jq '.body[] | .status' | grep ERROR
}
until job_success || job_fail
do
sleep 10
done
你剛剛寫了一個答案,然後重新寫問題來匹配你的答案? –
@LightnessRacesinOrbit不,您可以查看歷史記錄,以查看問題在語義上保持一致,但對於Google更容易。我其實希望有人提出更好的答案。 – samthebest
@LightnessRacesinOrbit語義是相同的,我用較少的詞語表達了更高雅的意義 - 它在客觀上更好且實質上等價。但是,我可能會超越帖子的「精神」,但我不知道這意味着什麼。給我一個「精神」的定義。 – samthebest