2015-12-02 113 views
4

我想在一个pyspark会话执行以下命令:PySpark可以使用numpy数组吗?

>>> a = [1,2,3,4,5,6,7,8,9,10] 
>>> da = sc.parallelize(a) 
>>> da.reduce(lambda a, b: a + b) 

它工作得很好。我得到了预期的答案(这是55)。现在我尝试做同样的事情,但使用numpy数组而不是Python列表:

>>> import numpy 
>>> a = numpy.array([1,2,3,4,5,6,7,8,9,10]) 
>>> da = sc.parallelize(a) 
>>> da.reduce(lambda a, b: a + b) 

因此,我得到了很多错误。更具体地讲,我看到下面的错误几次错误消息:

ImportError: No module named numpy.core.multiarray 

是不是安装的东西不是我的集群或pyspark不能在根本上与numpy的阵列工作?

+2

它看起来像一个配置(版本不匹配?)的问题,否则应该工作得很好。 – zero323

+0

它在这里说numpy是支持的:[link](https://spark.apache.org/docs/latest/programming-guide.html#linking-with-spark)它提供了Python选项卡下的一些信息。 – Lam

回答

0

我有类似的问题。我做了下面和问题解决:

pip uninstall numpy 
pip install numpy 
pip install nose 
相关问题