Spark pyspark vs spark-submit

Den*_*nis 3 apache-spark pyspark

关于spark-submit的文档说明如下:

Spark的bin目录中的spark-submit脚本用于在集群上启动应用程序.

关于pyspark,它说:

您还可以使用bin/pyspark来启动交互式Python shell.

这个问题可能听起来很愚蠢,但是当我运行命令时pyspark它们也运行在"集群"上,对吗?它们不仅仅在主节点上运行,对吧?

zer*_*323 6

这两者之间没有实际区别.如果未配置,则两者都将以本地模式执行代码.如果配置了master(通过--master命令行参数或spark.master配置),将使用相应的集群来执行程序.


bra*_*raj 6

如果您正在使用 EMR ,则有三件事

  1. 使用 pyspark(或 spark-shell)
  2. 使用 spark-submit 而不使用 --master 和 --deploy-mode
  3. 使用 spark-submit 并使用 --master 和 --deploy-mode

尽管使用以上三个将在 Spark 集群中运行应用程序,但驱动程序的工作方式有所不同。

  • 在第 1 个和第 2 个驱动程序将处于客户端模式,而在第 3 个驱动程序也将在集群中。
  • 在第 1 个和第 2 个中,您必须等到一个应用程序完成才能运行另一个,但在第 3 个中,您可以并行运行多个应用程序。