最近在调用SparkR的时候,当用copy_to函数将R中的数据框导入到Spark时,会在默认的tempdir()目录下(这里默认目录即为/tmp)产生巨大的临时文件,
严重影响R脚本的运行,最终一番折腾,查找资料,终于搞定。解决办法如下:
1 #change the tempdir() location 2 tempdir <- function() "/data/Rtmp" 3 unlockBinding("tempdir", baseenv()) 4 utils::assignInNamespace("tempdir", tempdir, ns="base", envir=baseenv()) 5 assign("tempdir", tempdir, baseenv()) 6 lockBinding("tempdir", baseenv())
验证下:
1 > tempdir() 2 [1] "/data/Rtmp" 3 > tempfile() 4 [1] "/data/Rtmp/file65e45db77a8d"
ok,搞定!