带有软件包和自动完成功能的Intellij上的Pyspark

大多数pyspark的人都习惯于使用笔记本电脑,主要是jupyter,有时甚至是齐柏林飞艇。 笔记本提供了一种极好的方式来逐行执行代码并在每个段落中获得评估结果。 作为开发人员,我们只遇到一个问题,笔记本电脑远远不是一个成熟的IDE。

  1. IDE提供了一种进入代码并理解它们的绝妙方法。
  2. 它为您提供了出色的预输入(自动完成)
  3. 让您以调试模式运行内容
  1. 先决条件
  • 安装python 3.6
 酿造安装https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rbpython --version 
  • 下载Intellij-https://www.jetbrains.com/idea/download/(社区版也可以)

2.为intellij安装python插件并重新启动

  • 转到首选项->插件->市场-> Python->安装

让我们进入实际的代码,我们将使用Keras设置Spark深度学习项目:https://towardsdatascience.com/deep-learning-with-apache-spark-part-2-2a2938a36d35

3.使用Intellij创建新项目,选择Python样式,为其命名

4.打开“项目结构”,然后单击“ New项目SDK”,选择“ Virtual Environment ,从先前安装的python中选择项目中的位置作为venv和base解释器。

5.让我们从https://github.com/FavioVazquez/deep-learning-pyspark/blob/master/requirements.txt添加requirements.txt,以便我们拥有所有python需求。我们需要添加pysparkipython

6.创建一个新文件SparkDL.py并复制笔记本中的内容,它将显示许多红线,表示未链接的程序包。 https://github.com/Gauravshah/pyspark-intellij-tutorial/blob/master/SparkDL.py

7.我们需要添加深度学习库,但是我们需要深度学习jar以及传递依赖关系,为此,我们使用深度学习库创建pom.xml。 使用Maven安装程序,我们将所有依赖项复制到jars文件夹中。 https://github.com/Gauravshah/pyspark-intellij-tutorial/blob/master/pom.xml

8.现在我们需要将这些jar添加到IDE环境中。 转到Project StructureLibraries ,然后添加Java lib并选择jars文件夹。 这将使您的IDE了解jars中的python代码

9.我们仍然需要将jar添加到pyspark启动。 打开Run ,然后Edit Configuration 。 转到Python模板,并添加以下环境变量:

  • PYSPARK_SUBMIT_ARGS — —-driver-memory 2g --jars jars/*.jar pyspark-shell
  • OBJC_DISABLE_INITIALIZE_FORK_SAFETY YES
  • no_proxy *

10.按照教程添加flower_photo和sample_photos

11.最后右键单击并运行您的SparkDL

成功!!!

所有的源代码发布在:https://github.com/Gauravshah/pyspark-intellij-tutorial