【发布时间】:2018-07-23 01:34:56
【问题描述】:
我最近在 gcloud DataProc 上设置了一个集群(1 个主节点和 2 个从节点)。 我设法拥有一个带有 PySpark 内核的 jupyter notebook 接口。 只要我的工作人员不必执行需要 NumPy 或 sklearn 等外部包的代码,一切都会正常工作。例如,我收到此错误:
ImportError: No module named 'sklearn'
a bit of the huge error log when I try to use pairwise_distance from sklearn
当我在工作人员上 ssh 并键入时
python
>>> help('modules')
我可以看到所有软件包都已正确安装,所以这不是问题。
当我输入which python 时,我得到一条路径,比如说/opt/conda/bin/python
当我用echo $PYSPARK_PYTHON 检查 PYSPARK_PYTHON 时,我得到了相同的路径。由此我们可以推断出 spark 使用了安装了所有包的“好”版本的 python。所以这不是问题。
我不明白为什么我的工作人员无法使用软件包,因为它们已正确安装并且 PATH 变量看起来不错。
有什么线索吗? 我有点迷茫和绝望,所以我可能会省略信息,请不要犹豫。
对于那些想知道的人,我按照这个link 直到第 4 步在 gcloud 上设置我的环境 PySpark。
【问题讨论】:
-
您在导入之前是否从笔记本运行了
!pip install --upgrade scikit-learn?你确定你使用了正确的解释器from the notebook too?
标签: import pyspark google-cloud-platform python-module google-cloud-dataproc