【问题标题】:Setting Specific Python in Zeppelin Interpreter在 Zeppelin 解释器中设置特定的 Python
【发布时间】:2017-08-08 06:34:00
【问题描述】:

除了设置“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。

【问题讨论】:

    标签: pyspark apache-zeppelin


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      当你在 python 中激活的 venv 中时:

      (my_venv)$ python
      >>> import sys
      >>> sys.executable
      
      
      # http://localhost:8080/#/interpreters
      # search for 'python'
      # set `zeppelin.python` to output of `sys.executable`
      

      【讨论】:

        猜你喜欢
        • 2018-02-13
        • 2016-02-23
        • 2017-07-15
        • 2017-04-22
        • 2019-12-03
        • 2019-03-29
        • 2017-10-28
        • 2017-08-17
        • 2019-09-02
        相关资源
        最近更新 更多