Проблемы с загрузкой больших файлов в RStudio с использованием AMI Луи Аслетта на EC2

После выполнения этого простого учебного руководства http://www.louisaslett.com/RStudio_AMI/ и видеогида http://www.louisaslett.com/RStudio_AMI/video_guide.html я настроил среду RStudio в EC2.

Единственная проблема в том, что я не могу загрузить большие файлы (> 1 ГБ).

Я могу загружать небольшие файлы просто отлично.

Когда я пытаюсь загрузить файл через RStudio, выдается следующая ошибка:

Неожиданный пустой ответ от сервера

Кто-нибудь знает, как я могу загрузить эти большие файлы для использования в RStudio? Это единственная причина, по которой я в первую очередь использую EC2 (для работы с большими данными).

2 ответа

Решение

У вас нет доступа к вашему серверу Amazon? Не полагайтесь на загрузку RStudio (которая может иметь ограничение 2 ГБ, разумно) и используйте надлежащие инструменты разработки Unix:

rsync -avz myHugeFile.dat amazonusername@my.amazon.host.ip:

в командной строке вашего локального ПК (установите Cygwin или другую систему совместимости Unixy) передаст ваш огромный файл на ваш сервер Amazon, и, если прервано возобновится с этой точки, сожмет данные для передачи тоже.

Для Windows GUI на чем-то подобном WinSCP был тем, чем мы занимались в старые добрые времена до Linux.

Итак, у меня была та же проблема, и это было невероятно неприятно, но в конце концов я понял, что здесь происходит. Размер домашнего каталога по умолчанию для AWS составляет менее 8-10 ГБ независимо от размера вашего экземпляра. Так как это пыталось загрузить на дом, тогда не хватило места. Опытный пользователь Linux не попал бы в эту ловушку, но, надеюсь, это увидят другие пользователи Windows, не знакомые с этой проблемой. Если вы загрузите в инстанс другой диск, это можно решить. Поскольку Louis Aslett Rstudio AMI базируется на этом пространстве объемом 8-10 ГБ, вам придется установить рабочий каталог вне этого, домашнего каталога. Не интуитивно понятно из интерфейса сервера Rstudio. Хотя это продвинутый форум и это ошибка новичка, я надеюсь, что никто не удалит этот вопрос, поскольку я потратил месяцы на это, и я думаю, что кто-то еще тоже. Надеюсь, это имеет смысл для вас?

Это могло иметь какое-то отношение к вашему веб-серверу. Вы используете nginx или apache в качестве веб-сервера? Если это так, вы можете изменить функцию загрузки на своем сервере nginx. Если вы используете nginx на переднем конце веб-сервера, я бы порекомендовал следующее исправление в вашем файле nginx.conf.

http {
    ...
    client_max_body_size 100M;
}  

https://www.tecmint.com/limit-file-upload-size-in-nginx/

У меня были похожие проблемы с файлом 5ГБ. Для меня сработало использование SQLite для создания базы данных с нужным мне файлом csv. Используйте код SQLite, чтобы создать базу данных. Затем я использовал функцию в RStudio для связи с локальной базой данных. Таким образом, я смог перенести файл csv. Если хотите, я могу отследить R-код, который использовал.

Другие вопросы по тегам