在 Apache Spark 中,您可以通过使用 spark-submit 脚本来提交和运行 Spark 应用程序。spark-submit 提供了一种在 Spark 集群上运行应用程序的标准方式,并支持多种配置选项。以下是提交和运行 Spark 应用程序的基本步骤:

步骤 1:准备应用程序代码

编写 Spark 应用程序代码,可以使用 Scala、Java 或 Python 编程语言。确保您的应用程序代码包含主类(entry point)和所需的依赖。

步骤 2:打包应用程序

使用构建工具(如 sbt、Maven 或 Gradle)将您的应用程序代码打包成 JAR 文件(Java/Scala)或 ZIP 文件(Python)。确保包含所有的依赖。

步骤 3:运行 spark-submit

在命令行中使用 spark-submit 提交并运行应用程序。以下是一个基本的示例:

Scala/Java 应用程序:
./bin/spark-submit --class com.example.MyApp --master yarn --deploy-mode client my-app.jar

  •  --class com.example.MyApp: 指定应用程序的主类。

  •  --master yarn: 指定 Spark 运行在 YARN 集群上。可以替换为其他部署模式,如 local(本地模式)或 spark://host:port(Standalone 模式)。

  •  --deploy-mode client: 指定应用程序运行在客户端模式。

  •  my-app.jar: 指定应用程序的 JAR 文件路径。


Python 应用程序:
./bin/spark-submit my-app.py

  •  my-app.py: 指定应用程序的 Python 文件路径。


其他常见选项:

  •  --num-executors: 指定执行器的数量。

  •  --executor-memory: 指定每个执行器的内存大小。

  •  --driver-memory: 指定驱动程序的内存大小。

  •  --conf: 可以通过 --conf 选项传递 Spark 配置参数。


示例:

Scala/Java 示例:
./bin/spark-submit --class com.example.WordCount --master yarn --deploy-mode client --num-executors 4 --executor-memory 2g my-app.jar input.txt output

Python 示例:
./bin/spark-submit --master yarn --deploy-mode client my-app.py input.txt output

上述示例中,假设有一个 WordCount 应用程序,该应用程序的主类是 com.example.WordCount(对于 Scala/Java)或 Python 文件名是 my-app.py(对于 Python)。应用程序接受输入文件 input.txt 并将结果输出到目录 output。

请根据您的实际情况修改命令。了解更多 spark-submit 选项和配置,请查阅 [Spark 官方文档 - Submitting Applications](https://spark.apache.org/docs/latest/submitting-applications.html)。


转载请注明出处:http://www.pingtaimeng.com/article/detail/9337/Spark