目前,我正在与其他人一起开展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。
答案 0 :(得分:2)
我最近才使用pip install pyspark
,并且能够立即使用Spark(无需构建)。
如果您激活环境并只是运行pyspark
,您应该看到PySpark正常工作,这表明这些罐子已经建成。
我已经检查了我的环境,因此组件位于:
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
行。