Pla*_* BI 4 python apache-spark pyspark apache-zeppelin
我有以下情况:我想将 Anaconda3 与 Zeppelin 和 Spark 一起使用。
\n\n我已经安装了以下组件:
\n\n基本上,我将 Python 解释器配置为指向我的 anaconda 版本,在我的例子中是 /opt/anaconda3/bin/python 并且这是有效的。我还使用以下命令编辑了 zeppelin.sh 脚本:
\n\nexport PYTHONPATH="${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.8.2.1-src.zip"\nexport SPARK_YARN_USER_ENV="PYTHONPATH=${PYTHONPATH}"\nexport PYSPARK_DRIVER_PYTHON="/var/opt/teradata/anaconda3/envs/py35/bin/ipython"\nexport PYSPARK_PYTHON="/var/opt/teradata/anaconda3/envs/py35/bin/python"\nexport PYLIB="/var/opt/teradata/anaconda3/envs/py35/lib"\nRun Code Online (Sandbox Code Playgroud)\n\n到这里一切都好。
\n\n当我尝试%python.conda和%python.sql解释器时,它们失败了,因为找不到 conda 命令,并且 pandas 也没有找到。\n我将库位置添加到$PATH环境变量中,Zeppelin 能够找到这些库命令,但副作用是,整个环境的默认 Python 版本变成3.5而不是2.7,我开始收到另一个像这样的好错误:
\n\napache.zeppelin.interpreter.InterpreterException: File "/usr/bin/hdp-select", line 205\n print "ERROR: Invalid package - " + name\n ^\nSyntaxError: Missing parentheses in call to \'print\'\nls: cannot access /usr/hdp//hadoop/lib: No such file or directory\nException in thread "main" java.lang.IllegalStateException: hdp.version is not set while running Spark under HDP, please set through HDP_VERSION in spark-env.sh or add a java-opts file in conf with -Dhdp.version=xxx\nRun Code Online (Sandbox Code Playgroud)\n\n当我切换回来并从 $PATH 中删除 Python3 库时,它会再次工作。
\n\n是否有任何最佳方法来配置我的环境,以使一切正常运行并使其易于管理和维护?
\n\n我正在考虑在 /var/lib 中为需要找到的文件创建符号链接,但我不知道需要多少个,而且我不想为每个人创建链接除了Python3。
\n\n任何评论都将受到高度赞赏。
\n\n亲切的问候,保罗
\n小智 5
我遇到了同样的错误。经过调查,我在这里找到了错误的根源。看起来 Zeppelin 默认为“/bin/conda”作为 conda 的默认路径。
我能够通过执行以下操作来修复它:
ln -s /opt/anaconda3/bin/conda /bin/condaln -s /opt/anaconda3/bin/python /bin/python/opt/anaconda3/bin/python3export PYTHONPATH=/opt/anaconda3/bin看起来这里的行为也存在 JIRA 问题。
| 归档时间: |
|
| 查看次数: |
3221 次 |
| 最近记录: |