如何更改SparkContext.sparkUser()设置(在pyspark中)?

Kwa*_*LEE 6 apache-spark pyspark

我是新人Sparkpyspark.
我使用pyspark,在rdd处理之后,我试图将它保存到hdfs使用该saveAsTextfile()功能.但是我得到了一个" 权限被拒绝 "的错误消息,因为pyspark尝试hdfs 使用我的本地帐户"kjlee" 来编写,这在hdfs系统上是不存在的.

我可以通过检查spark用户名SparkContext().sparkUser(),但我找不到如何更改spark用户名.

如何更改spark用户名?

Tam*_*omi 9

有一个环境变量:HADOOP_USER_NAME所以只需使用export HADOOP_USER_NAME = anyuser,或者在pyspark中你可以使用os.environ ["HADOOP_USER_NAME"] ="anyuser"


Jav*_*tón 5

在 Scala 中可以使用 System.setProperty 来完成:

  System.setProperty("HADOOP_USER_NAME","newUserName")

  val spark = SparkSession
    .builder()
    .appName("SparkSessionApp")
    .master("local[*]")
    .getOrCreate()

  println(spark.sparkContext.sparkUser)
Run Code Online (Sandbox Code Playgroud)