如何在pip安装后构建Pyspark?

时间:2017-12-12 18:01:24

标签: python pyspark anaconda conda

目前,我正在与其他人一起开展Python 3.6项目。我们使用requirements.txt文件来存储将使用pip或conda安装的依赖项。

我添加了pyspark >= 2.2.0,它将运行pip install pyspark。 我们使用anaconda。安装没有错误,我可以在我的本地Anaconda env site-packages目录中找到pyspark目录。

当我运行我的python脚本时,其中包含一些Spark代码。我收到错误:Failed to find Spark jars directory。经过一些研究后,我发现我需要构建pyspark代码,因为它在pip附带时没有预先构建。

我阅读了文档,但我不清楚如何构建代码。为什么我的pyspark安装目录中没有构建目录(需要使用build / mvn构建它)?我更喜欢使用requirements.txt,因为我不希望所有开发人员都下载&自己安装pyspark。

编辑 - 在shell中运行pyspark命令时出现的主要问题是以下错误:

  

无法找到Spark jars目录。

     

您需要在运行此程序之前构建Spark。

1 个答案:

答案 0 :(得分:2)

我最近才使用pip install pyspark,并且能够立即使用Spark(无需构建)。

如果您激活环境并只是运行pyspark,您应该看到PySpark正常工作,这表明这些罐子已经建成。

我已经检查了我的环境,因此组件位于:

  • shell脚本(spark-shell等)将放置在conda环境中的bin目录中,例如: ~/.conda/envs/my_env/bin
  • 二进制文件本身位于jars目录的pyspark文件夹中, 即~/.conda/envs/my_env/lib/python3.6/site-packages/pyspark/jars

要在conda环境中使用pyspark,您只需创建一个环境,激活它并安装即可。这就像运行这四个命令一样简单。

conda create -n my-env python=3.5
source activate my-env
pip install pyspark
pyspark

如果您在requirements.txt文件中有pyspark,则可以使用pip install pyspark替换上面的pip install -r requirements.txt行。