Pyspark 在齐柏林飞艇解释器中设置特定Python

Pyspark 在齐柏林飞艇解释器中设置特定Python,pyspark,apache-zeppelin,Pyspark,Apache Zeppelin,除了设置“zeppelin.pyspark.python”使齐柏林飞艇解释器成为特定的python可执行文件之外,我还需要做什么 背景: 我正在使用连接到Spark+Mesos集群的Apache齐柏林飞艇。这个集群已经运行了好几年了。齐柏林飞艇是新的,总体来说运作良好 但我无法在pyspark中应用于RDD的函数中导入numpy。当我使用Python子进程定位Python可执行文件时,它显示代码正在系统的Python中运行,而不是在它需要的virutalenv中运行 因此,我看到了一些关于这个问

除了设置“zeppelin.pyspark.python”使齐柏林飞艇解释器成为特定的python可执行文件之外,我还需要做什么

背景

我正在使用连接到Spark+Mesos集群的Apache齐柏林飞艇。这个集群已经运行了好几年了。齐柏林飞艇是新的,总体来说运作良好

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

因此,我看到了一些关于这个问题的问题,它们说修复方法是将“zeppelin.pyspark.python”设置为指向正确的python。我已经这样做了,并重新启动了几次解释器。但它仍然使用Python系统


还有什么我需要做的吗?这是在使用齐柏林飞艇0.7。

在我在EMR集群上使用的一个旧的、定制的齐柏林飞艇快照版本上,我设置了以下两个属性以使用特定的virtualenv:

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

当您处于python中激活的venv中时:

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


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