我是Spark
和pyspark
的新人
我使用pyspark,在rdd
处理后,我尝试使用hdfs
函数将其保存到saveAsTextfile()
。
但是我收到了“权限被拒绝”错误消息,因为pyspark尝试编写hdfs
使用我的本地帐户'kjlee',hdfs
系统上不存在。
我可以通过SparkContext().sparkUser()
查看spark用户名,但我找不到如何更改spark用户名。
如何更改spark用户名?
答案 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)