我正在寻找一种从另一个Zeppelin笔记本上运行Zeppelin笔记本的方法。与%run magic command in a Databricks notebook类似,并且大致等效于:load
REPL中的spark-shell
命令或Python中的import
语句。
它应等待另一个笔记本的所有启用的段落运行。该执行应在具有错误状态的第一个执行段落上停止。该其他笔记本中定义的所有变量应在当前笔记本中可用。它也应该在多用户模式下工作。
我发现以下示例命令可以运行,但只能在未认证的模式下使用。
%sh
curl >/dev/null -X POST -s \
http://$HOSTNAME:$ZEPPELIN_PORT/api/notebook/job/2DJ4HPCJG && \
curl -s http://$HOSTNAME:$ZEPPELIN_PORT/api/notebook/job/2DJ4HPCJG \
| grep -vq '"status":"ERROR"'
此外,ZeppelinContext#runNote()方法在身份验证模式下工作,但异步运行。我还没有找到检测错误并停止执行的方法。
对于您满足上述所有解决上述部分问题的要求或想法的解决方案,我将不胜感激。