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 - 如何在 Apache Zeppelin 中使用 Helium 框架

使用 Spark 配置 Apache Zeppelin

apache zeppelin 上的 zeppelin_ipyspark.py 获取 SyntaxError:无效语法

Apache Zeppelin - 断开连接状态

构建 Apache Zeppelin 时出错