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