spark_connect本地连接失败:权限拒绝问题求助
解决spark_connect本地连接权限拒绝问题
问题重现
使用spark_connect(master = "local")建立本地Spark连接时,出现如下错误:
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
cannot open file 'C:\Users\XXX\AppData\Local\Temp\RtmpMLG1Xz\file2da459c42c67_spark.log': Permission denied
已尝试修改环境变量、卸载重装sparklyr,问题未解决。
解决方案
1. 手动指定Spark日志存储路径
避开系统临时目录的权限限制,在连接时指定一个你拥有完全读写权限的目录(需提前创建好该文件夹):
sc <- spark_connect( master = "local", config = list(sparklyr.shell.log = "C:/Users/XXX/Documents/SparkLogs/spark.log") )
2. 修改R的临时目录
系统临时目录权限受限是常见原因,可手动指定R的临时目录:
# 先设置自定义临时目录(需提前创建该文件夹) Sys.setenv(TMP = "C:/Users/XXX/CustomTemp", TEMP = "C:/Users/XXX/CustomTemp") # 再建立Spark连接 sc <- spark_connect(master = "local")
也可以直接右键当前R临时目录(通过tempdir()查看路径),在「属性-安全」中给当前用户添加完全控制权限。
3. 以管理员身份运行R/RStudio
右键R或RStudio图标,选择「以管理员身份运行」,再尝试建立Spark连接,绕过普通用户的权限限制。
4. 检查Spark安装目录权限
如果是sparklyr自动下载的Spark,默认路径通常在C:\Users\XXX\AppData\Local\rstudio\spark下。找到对应Spark版本的文件夹,右键设置权限,给当前用户添加读写权限。
内容的提问来源于stack exchange,提问作者Joshua Cervantes Artavia
相关产品推荐
相关产品推荐

