按照这个简单的教程http://www.louisaslett.com/RStudio_AMI/和视频指南http://www.louisaslett.com/RStudio_AMI/video_guide.html后,我在EC2上设置了一个RStudio环境。
唯一的问题是,我无法上传大文件(> 1GB)。
我可以上传小文件。
当我尝试通过RStudio上传文件时,它给出了以下错误:
来自服务器的意外空响应
有谁知道如何上传这些大文件以供在RStudio中使用?这就是我首先使用EC2(处理大数据)的全部原因。
答案 0 :(得分:6)
好吧所以我自己也遇到了同样的问题而且非常令人沮丧,但最终我意识到这里发生了什么。无论实例的大小如何,AWS的默认主目录大小都小于8-10GB。因此,尝试上传到家,然后没有足够的空间。一个经验丰富的Linux用户不会陷入这个陷阱,但希望任何其他遇到此问题的Windows用户都会看到这个。如果您上传到实例上的其他驱动器,则可以解决此问题。由于Louis Aslett Rstudio AMI基于这个8-10GB的空间,因此您必须在此主目录之外设置您的工作目录。从Rstudio服务器界面看不直观。虽然这是一个高级论坛,这是一个菜鸟错误,我希望没有人删除这个问题,因为我花了几个月的时间,我认为其他人也会。我希望这对你有意义吗?
答案 1 :(得分:4)
您是否拥有对Amazon服务器的shell访问权限?不要依赖RStudio的上传(可能合理地限制2Gb)并使用正确的unix开发工具:
rsync -avz myHugeFile.dat amazonusername@my.amazon.host.ip:
在您的本地PC命令行(安装cygwin或其他unixy兼容系统)将您的巨大文件传输到您的亚马逊服务器,如果中断将从那一点恢复,将压缩数据进行传输。
对于像这样的Windows gui,WinSCP是我们过去在Linux之前的糟糕时期所做的事情。
答案 2 :(得分:1)
这可能与您的Web服务器有关。您是使用nginx还是apache作为Web服务器。如果是这样,您可以在Nginx服务器中修改上传功能。如果您在Web服务器的前端上运行nginx,则建议您在nginx.conf文件中进行以下修复。
http {
...
client_max_body_size 100M;
}
答案 3 :(得分:0)
我在使用5GB文件时遇到了类似的问题。对我有用的是使用SQLite用所需的csv文件创建数据库。使用SQLite代码来创建数据库。然后,我使用RStudio中的一个函数与本地数据库进行通信。这样,我便可以导入csv文件。如果您愿意,我可以跟踪使用的R代码。