Apache Zeppelin:使用 z.run() 从另一个运行段落会引发空指针异常
Posted
技术标签:
【中文标题】Apache Zeppelin:使用 z.run() 从另一个运行段落会引发空指针异常【英文标题】:Apache Zeppelin: Run paragraph from another using z.run() throws a null pointer exception 【发布时间】:2021-10-04 01:58:32 【问题描述】:我在使用 Apache Zeppelin 时遇到了一些问题,特别是如何调用另一个段落。我正在使用带有 Python 解释器的 Zeppelin 0.9.0 版。
我想要实现的目标是让某个段落带有日期下拉列表,当用户选择一个日期时,我想运行其他一些段落。这样用户就不需要在每个段落中选择日期。有了日期,我将找到一些文件并将它们呈现在表格/图表中。
查看文档,它建议我们可以将 z.run() 与给定的注释 id 和段落 id 一起使用。不幸的是,当我这样做时,我不断收到错误消息。
这是我正在尝试的一个最小示例:
# Cell 1 - Create select box, allow user selection, then trigger Cell 2
user_choice = z.select("f2", [("o1","1"), ("o2","2")], "o1")
z.run('2GBQ57B2K', 'paragraph_1627463517803_1716289354')
# Cell 2 - Triggered as user made a choice in Cell 1.
print(user_choice)
print('lemon')
这会导致单元格 1 出现错误。请参阅下面的日志:
Py4JJavaError: An error occurred while calling o1.run.
: java.lang.NullPointerException
at org.apache.zeppelin.interpreter.ZeppelinContext.run(ZeppelinContext.java:497)
at org.apache.zeppelin.interpreter.ZeppelinContext.run(ZeppelinContext.java:475)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.lang.Thread.run(Thread.java:745)
(<class 'py4j.protocol.Py4JJavaError'>, Py4JJavaError('An error occurred while calling o1.run.\n', JavaObject id=o24), <traceback object at 0x7facaea7d7c8>)
有没有人遇到过这种情况?或者对可能出现什么问题有任何想法?我一直无法在网上找到任何东西。对于它的价值, z.runNote() 有效,但它运行一切。我希望只运行一部分段落。
非常感谢
【问题讨论】:
【参考方案1】:似乎是Zeppelin的一个bug,请在zeppelin项目中提交工单
【讨论】:
谢谢,在这里创建:issues.apache.org/jira/browse/ZEPPELIN-5482以上是关于Apache Zeppelin:使用 z.run() 从另一个运行段落会引发空指针异常的主要内容,如果未能解决你的问题,请参考以下文章
Apache Zeppelin - 如何在 Apache Zeppelin 中使用 Helium 框架