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

时间:2015-09-30 07:58:26

标签: apache-spark pyspark

我是Sparkpyspark的新人 我使用pyspark,在rdd处理后,我尝试使用hdfs函数将其保存到saveAsTextfile()。 但是我收到了“权限被拒绝”错误消息,因为pyspark尝试编写hdfs 使用我的本地帐户'kjlee',hdfs系统上不存在。

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

如何更改spark用户名?

2 个答案:

答案 0 :(得分:9)

有一个环境变量:HADOOP_USER_NAME 所以只需使用导出HADOOP_USER_NAME = anyuser或在pyspark中你可以使用os.environ [“HADOOP_USER_NAME”] =“anyuser”

答案 1 :(得分:2)

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

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

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

  println(spark.sparkContext.sparkUser)