最近在調用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,搞定!