请参阅以下命令行交互:
$ export ALL_ARGS="--master local[*] --conf \"spark.driver.extraJavaOptions=-Djava.io.tmpdir=/tmp -XX:+UseG1GC\""
$ echo $ALL_ARGS
--master local[*] --conf "spark.driver.extraJavaOptions=-Djava.io.tmpdir=/tmp -XX:+UseG1GC"
$ $SPARK_HOME/bin/spark-shell ${ALL_ARGS}
Warning: Ignoring non-spark config property: "spark.driver.extraJavaOptions=-Djava.io.tmpdir=/tmp
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
bad option: '-XX:+UseG1GC"'
$ $SPARK_HOME/bin/spark-submit ${ALL_ARGS}
Error: Unrecognized option: -XX:+UseG1GC"
Usage: spark-submit [options] <app jar | python file> [app arguments]
似乎忽略了 spark.driver.extraJavaOptions = -Djava.io.tmpdir = / tmp -XX:+ UseG1GC 周围的双引号,并且其中的空格被错误地解析了。为什么会发生这种情况以及如何避免这种情况?
我试过eval command
但没有用。
非常感谢你的帮助!