解决R语言临时文件目录的问题(tempdir、tempfile)

时间:2025-04-09 08:04:25

最近在调用SparkR的时候,当用copy_to函数将R中的数据框导入到Spark时,会在默认的tempdir()目录下(这里默认目录即为/tmp)产生巨大的临时文件,

严重影响R脚本的运行,最终一番折腾,查找资料,终于搞定。解决办法如下:

 #change the tempdir() location
tempdir <- function() "/data/Rtmp"
unlockBinding("tempdir", baseenv())
utils::assignInNamespace("tempdir", tempdir, ns="base", envir=baseenv())
assign("tempdir", tempdir, baseenv())
lockBinding("tempdir", baseenv())

验证下:

 > tempdir()
[1] "/data/Rtmp"
> tempfile()
[1] "/data/Rtmp/file65e45db77a8d"

ok,搞定!