apache-spark - 使用自定义内核数和内存大小运行 Spark 应用程序

标签 apache-spark command-line pyspark distributed-computing

我对这个完全陌生,所以我不太明白它是怎么做的。
我需要在我的机器上运行 spark(使用 ssh 登录)并设置内存 60g 和 6 个内核以供执行。
这是我试过的。

spark-submit --master yarn --deploy-mode cluster --executor-memory 60g --executor-cores 6

这就是我得到的:
SPARK_MAJOR_VERSION is set to 2, using Spark2
Exception in thread "main" java.lang.IllegalArgumentException: Missing application resource.
    at org.apache.spark.launcher.CommandBuilderUtils.checkArgument(CommandBuilderUtils.java:253)
    at org.apache.spark.launcher.SparkSubmitCommandBuilder.buildSparkSubmitArgs(SparkSubmitCommandBuilder.java:160)
    at org.apache.spark.launcher.SparkSubmitCommandBuilder.buildSparkSubmitCommand(SparkSubmitCommandBuilder.java:276)
    at org.apache.spark.launcher.SparkSubmitCommandBuilder.buildCommand(SparkSubmitCommandBuilder.java:151)
    at org.apache.spark.launcher.Main.main(Main.java:87)

所以,我想有一些东西要添加到这个代码行来运行,我不知道是什么。

最佳答案

这里:

spark-submit --master yarn --deploy-mode cluster --executor-memory 60g --executor-cores 6

您没有指定入口点和您的应用程序!

检查 spark-submit文件,其中指出:

一些常用的选项是:
  • --class:应用程序的入口点(例如 org.apache.spark.examples.SparkPi)
  • --master:集群的主 URL(例如 spark://23.195.26.187:7077)
  • --deploy-mode:是在工作节点(集群)上还是在本地作为外部客户端(客户端)部署您的驱动程序(默认:客户端)
  • --conf:key=value 格式的任意 Spark 配置属性。对于包含空格的值,将“key=value”用引号括起来(如图所示)。
  • application-jar:包含您的应用程序的捆绑 jar 的路径
    所有依赖。该 URL 必须在您的内部全局可见
    集群,例如,一个 hdfs://路径或一个 file://路径
    存在于所有节点上。
  • application-arguments:传递给你的 main 方法的参数
    主类,如果有的话

  • 对于 Python 应用程序,只需在 <application-jar> 的位置传递一个 .py 文件。而不是 JAR,并使用 --py-files 将 Python .zip、.egg 或 .py 文件添加到搜索路径中.

    这是一个使用一些 JAR 文件和一个 python 文件的示例(为简单起见,我没有包含您的其他参数):
    ./spark-submit --jars myjar1.jar,myjar2.jar --py-files path/to/my/main.py arg1 arg2
    

    I hope I can entry to spark shell (with that much memory and cores) and type code in there



    那么你需要pyspark ,不是 spark-submit ! What is the difference between spark-submit and pyspark?

    所以你真正想做的是:
    pyspark --master yarn --deploy-mode cluster --executor-memory 60g --executor-cores 6
    

    关于apache-spark - 使用自定义内核数和内存大小运行 Spark 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319061/

    相关文章:

    performance - Spark 示例程序运行很慢

    apache-spark - 如何在控制台中创建多个 SparkContext

    amazon-web-services - 如果 EMR 中的总集群资源内存小于从 AWS S3 读取的数据集,Spark 如何读取和处理 AWS EMR 中的数据

    macos - SIPS命令(图像处理)非常冗长

    perl - 如何获取整个命令行字符串?

    python - 具有多个条件的 Sparksql 过滤(使用 where 子句选择)

    python - Pyspark 'NoneType'对象没有属性 '_jvm'错误

    hadoop - 无法在 CDH 5.7.5 中安装 Spark 2.0

    command-line - 将 Chrome 与命令行工具集成

    python-2.7 - Pyspark 按另一个数据帧的列过滤数据帧