R работает очень медленно после загрузки больших наборов данных> 8 ГБ - PullRequest
0 голосов
/ 19 марта 2019

Мне не удалось работать в R, учитывая, насколько медленно он работает после загрузки моих наборов данных.Эти наборы данных составляют около 8 ГБ.Я использую 8 ГБ ОЗУ и настроил memory.limit, чтобы превысить объем ОЗУ, но, похоже, ничего не работает.Кроме того, я использовал fread из пакета data.table для чтения этих файлов;просто потому, что read.table не запустится.

После просмотра аналогичного поста на форуме, посвященного той же проблеме, я попытался запустить gctorture(), но безрезультатно.

Rработает так медленно, что я даже не могу проверить длину списка загруженных наборов данных, не могу View или выполнить какую-либо базовую операцию после загрузки этих наборов данных.

Я попытался загрузить наборы данных по частямТаким образом, 1/3 от общего числа файлов более 3 раз, что, казалось, делало вещи более гладкими для импортирующей части, но ничего не изменило в отношении того, насколько медленно R работает после этого.

Есть ли какие-либоспособ обойти эту проблему?Любая помощь будет высоко ценится.

Спасибо всем за ваше время.

1 Ответ

2 голосов
/ 19 марта 2019

Проблема возникает из-за того, что R загружает полный набор данных в ОЗУ, что в основном останавливает систему при попытке View ваших данных.

Если это действительно огромный набор данных, сначала убедитесь, что данные содержат только самые важные столбцы и строки.Допустимые столбцы могут быть идентифицированы через домен и мировые знания, которые у вас есть о проблеме.Вы также можете попытаться исключить строки с пропущенными значениями.

После того, как это будет сделано, в зависимости от размера данных, вы можете попробовать разные подходы.Одним из них является использование пакетов, таких как bigmemory и ff.bigmemory например, создает объект-указатель, с помощью которого вы можете читать данные с диска, не загружая их в память.

Другой подход - через параллелизм (неявный или явный).MapReduce - это еще один пакет, который очень полезен для обработки больших наборов данных.

Для получения дополнительной информации о них, прочитайте это сообщение в блоге на rpubs и это старое, нозолотой столб из СО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...