在 Zeppelin Interpreter 中设置特定 Python

Setting Specific Python in Zeppelin Interpreter

除了设置 "zeppelin.pyspark.python" 使 Zeppelin 解释器成为特定的 Python 可执行文件之外,我还需要做什么?

背景:

我正在使用连接到 Spark+Mesos 集群的 Apache Zeppelin。该集群多年来一直运行良好。 Zeppelin 是新的,总体上运行良好。

但是我无法在 pyspark 中应用于 RDD 的函数中导入 numpy。当我使用 Python 子进程定位 Python 可执行文件时,它显示代码在系统的 Python 中 运行,而不是它需要在的 virutalenv 中。

所以我看到了一些关于这个问题的问题,他们说解决方法是将 "zeppelin.pyspark.python" 设置为指向正确的 python。我已经这样做并重新启动了解释器几次。但是还是用系统Python.

我还需要做些什么吗?这是使用 Zeppelin 0.7.

在我一直在 EMR 集群上使用的旧版 Zeppelin 自定义快照构建中,我设置了以下两个属性以使用特定的 virtualenv:

"zeppelin.pyspark.python": "/path/to/bin/python",
"spark.executorEnv.PYSPARK_PYTHON": "/path/to/bin/python"

当您在 python 中处于激活状态时:

(my_venv)$ python
>>> import sys
>>> sys.executable


# http://localhost:8080/#/interpreters
# search for 'python'
# set `zeppelin.python` to output of `sys.executable`