想要设置
mapreduce.job.user.name=myuser
尝试
spark-submit --class com.MyClass
--conf mapreduce.job.user.name=myuser \
--conf spark.mapreduce.job.user.name=myuser \
--master yarn \
--deploy-mode cluster \
也试过
--conf user.name
在Spark UI的环境中 示出
user.name yarn
答案 0 :(得分:1)
在 Spark 3 中,将 SPARK_USER 设置为系统属性。
https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/util/Utils.scala
/**
* Returns the current user name. This is the currently logged in user, unless that's been
* overridden by the `SPARK_USER` environment variable.
*/
def getCurrentUserName(): String = {
Option(System.getenv("SPARK_USER"))
.getOrElse(UserGroupInformation.getCurrentUser().getShortUserName())
}
答案 1 :(得分:0)
设为Runtime-Environment Variable
尝试:
--conf spark.executorEnv.mapreduce.job.user.name=myuser
spark.executorEnv.[EnvironmentVariableName]
- 添加环境 由EnvironmentVariableName指定给Executor进程的变量。 用户可以指定其中的多个来设置多个环境 变量
答案 2 :(得分:0)
sudo -su username spark-submit --class com.MyClass
这对我有用。