【问题标题】:How do I install numpy and pandas for Python 3.5 in Spark?如何在 Spark 中为 Python 3.5 安装 numpy 和 pandas?
【发布时间】:2017-06-29 06:20:25
【问题描述】:

我正在尝试使用 Python 3.5 而不是 Python 2.7 在 Spark 中运行线性回归。所以首先我导出了 PYSPARK_PHTHON=python3。我收到一个错误“没有名为 numpy 的模块”。我尝试“pip install numpy”,但 pip 无法识别设置 PYSPARK_PYTHON。如何让 pip 为 3.5 安装 numpy?谢谢...

$ export PYSPARK_PYTHON=python3

$ spark-submit linreg.py
....
Traceback (most recent call last):
  File "/home/yoda/Code/idenlink-examples/test22-spark-linreg/linreg.py", line 115, in <module>
from pyspark.ml.linalg import Vectors
  File "/home/yoda/install/spark/python/lib/pyspark.zip/pyspark/ml/__init__.py", line 22, in <module>
  File "/home/yoda/install/spark/python/lib/pyspark.zip/pyspark/ml/base.py", line 21, in <module>
  File "/home/yoda/install/spark/python/lib/pyspark.zip/pyspark/ml/param/__init__.py", line 26, in <module>
  ImportError: No module named 'numpy'

$ pip install numpy
Requirement already satisfied: numpy in /home/yoda/.local/lib/python2.7/site-packages

$ pyspark
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
17/02/09 20:29:20 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/02/09 20:29:20 WARN Utils: Your hostname, yoda-VirtualBox resolves to a loopback address: 127.0.1.1; using 10.0.2.15 instead (on interface enp0s3)
17/02/09 20:29:20 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
17/02/09 20:29:31 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0
      /_/

Using Python version 3.5.2 (default, Nov 17 2016 17:05:23)
SparkSession available as 'spark'.
>>> import site; site.getsitepackages()
['/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.5/dist-packages']
>>> 

【问题讨论】:

  • 提示:Spark(可以而且通常会)在 集群 计算机上工作。
  • 您必须在使用的集群中的所有计算机上安装 numpy lib。即,如果您仅在本地计算机上使用它,请正确下载并添加库。 Spark 不应该关心它的 numpy 或任何其他库是否已经正确链接。
  • @JackManey 看起来像本地模式。 OP 只是使用了错误的 pip :) Joshua - 使用 virtualenv、Anaconda 或其他 env 管理工具是个好主意。

标签: python apache-spark pip pyspark


【解决方案1】:

如果您正在运行作业local,您只需升级pyspark

Homebrew:brew upgrade pyspark 这应该可以解决大部分依赖项。

【讨论】:

    【解决方案2】:

    所以我实际上根本不认为这是一个火花问题。在我看来,您需要环境方面的帮助。正如评论者提到的,您需要设置一个 python 3 环境,激活它,然后安装 numpy。查看this 以获得有关使用环境的一些帮助。设置好 python3 环境后,您应该将其激活,然后运行 ​​pip install numpyconda install numpy,您应该一切顺利。

    【讨论】:

      猜你喜欢
      • 2016-06-20
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      相关资源
      最近更新 更多