如何在IntelliJ的 Spark插件中修改spark-submit命令?
在IntelliJ中,我正在尝试配置我的Spark插件。
在我的主机上,我通过以下方式执行我的代码
/<spark-home>/bin/spark3-submit .......
当我在IntelliJ中设置Spark插件时,生成的命令如下
/<spark-home>/bin/spark-submit .......
本质上,我想把命令 spark-submit 改成 spark3-submit,因为在我们的环境中命令就是这样暴露的。
想了解是否有可用的配置,或是否有其他方式按上述方式改变命令。
解决方案
不幸的是,在Spark插件 / “Spark Submit” 运行配置中没有设置可以改变可执行文件名的选项。它始终从 <Spark home>/bin 运行 spark-submit 脚本。因此你不能直接让IntelliJ使用 spark3-submit 代替 spark-submit。
通常的变通做法是在实际运行Spark命令的机器上调整环境(取决于你的运行配置,是你的主机还是远程集群),使得 spark-submit 解析为 spark3-submit:
- 打开在IntelliJ中配置为 Spark home 的Spark bin目录:
cd /<spark-home>/bin
2.要么创建一个名为 spark-submit 的小包装脚本:
``` cat > spark-submit << 'EOF' #!/usr/bin/env bash exec "$(dirname "$0")/spark3-submit" "$@" EOF
chmod +x spark-submit ```
要么创建一个符号链接(symlink):
ln -s spark3-submit spark-submit
3.在 IntelliJ的 'Spark Submit' 运行配置中,确保 Spark home 指向该 <spark-home>。