[英]Issue (bug?) with MonetDB.R and dbWriteTable with csvdump=TRUE
我们在一个闪亮的应用程序中使用R和MonetDB.R设法在30秒左右(在MacBook Pro上)写入1.7 M行:
dbWriteTable(conn, tableName, Dt,overwrite=TRUE, csvdump=TRUE)
据我们了解的MonetDB.R代码先保存在/tmp
文件夹中的一个表csv
格式,然后被装入MonetDB数据库COPY INTO
我们刚刚尝试过centos服务器和RStudio服务器,我们在/tmp
的临时文件夹上遇到了访问权限错误。
我们用经典解决了这个问题
chmod -R 777 /tmp
但是,如果我们在应用程序中运行这部分内容,我们似乎必须再次这样做,因此它看起来不是一个可扩展的解决方案。
是否有可能获得更稳定和可扩展的解决方案?
(此外,这个功能在MonetDB 0.94中有记录,但它没有出现在CRAN的0.95文档中的任何地方 - 我们能否安全地假设这是一个错字并且该功能将保留?)
MonetDB.R
使用R的tempfile()
来创建临时CSV文件。 tempfile
依次调用tempdir
来获取临时目录。 您可以通过环境变量TMPDIR
和其他来控制此目录的位置。 有关详细信息,请参阅?tempdir
。
例如
$ TMPDIR=/tmp/foo R -e "print(tempfile())"
[1] "/tmp/bar/Rtmp7UKG0k/file1173e13a4477c"
$ TMPDIR=/tmp/bar R -e "print(tempfile())"
[1] "/tmp/foo/RtmpPxx76t/file1174a409c06a2"
关于您的其他问题,csvdump功能将保留,因为MonetDB在批量CSV加载时非常快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.