在python vs spark-submit中运行PySpark代码

时间:2018-12-20 13:09:01

标签: apache-spark pyspark

我有一个PySpark代码/应用程序。使用python interpreterspark-submit来运行它的最佳方法是什么(利用PySpark的最大功能)?

SO答案here几乎相似,但没有详细解释。很想知道,为什么?

感谢您的帮助。预先感谢。

2 个答案:

答案 0 :(得分:1)

我假设当您说python解释器时,您指的是pyspark shell。

您可以使用pySpark解释器,使用Spark提交甚至使用多个可用的笔记本(Jupyter / Zeppelin)来两种方式运行Spark代码。

  1. 何时使用PySpark解释器。

通常,当我们出于理解或探索目的而学习或进行一些非常基本的操作时,我们会使用pySpark解释器。

  1. 火花提交。

通常在将整个应用程序都写在pySpark中并打包到py文件中时使用,以便可以将整个代码提交给Spark集群以供执行。

有点类比可能会有所帮助。让我们以Unix shell命令为例。我们可以直接在命令提示符下执行shell命令,也可以创建shell脚本(.sh)来立即执行bundle指令。同样,您可以考虑使用pyspark解释器和spark-submit实用程序,在pySpark解释器中,您可以执行单个命令。但是,您可以将spark应用程序打包为py文件,并使用spark-submit实用程序执行。

希望这会有所帮助。

此致

Neeraj

答案 1 :(得分:1)

在pyspark shell上运行作业将始终处于客户端模式。与使用spark-submit一样,您可以在两种模式下执行它。即客户或集群