除了设置" 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。
答案 0 :(得分:0)
在Zeppelin的旧版自定义快照版本中,我一直在EMR集群上使用,我设置了以下两个属性来使用特定的virtualenv:
"zeppelin.pyspark.python": "/path/to/bin/python",
"spark.executorEnv.PYSPARK_PYTHON": "/path/to/bin/python"
答案 1 :(得分:0)
当您在python中激活了venv时:
(my_venv)$ python
>>> import sys
>>> sys.executable
# http://localhost:8080/#/interpreters
# search for 'python'
# set `zeppelin.python` to output of `sys.executable`