PySpark 可以使用 numpy 数组吗?
Posted
技术标签:
【中文标题】PySpark 可以使用 numpy 数组吗?【英文标题】:Can PySpark work with numpy arrays? 【发布时间】:2015-12-02 14:35:39 【问题描述】:我尝试在 pyspark 会话中执行以下命令:
>>> 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 数组?
【问题讨论】:
看起来像是配置(版本不匹配?)问题,否则应该可以正常工作。 这里说支持 numpy:link 它在 Python 选项卡下提供了一些信息。 【参考方案1】:我也有类似的问题。我在下面做了并解决了问题:
pip uninstall numpy
pip install numpy
pip install nose
【讨论】:
以上是关于PySpark 可以使用 numpy 数组吗?的主要内容,如果未能解决你的问题,请参考以下文章
从 Pyspark Dataframe 中提取 numpy 数组