Я смотрел эту тему: добавить несколько больших data.table; принудительное принудительное использование данных с использованием colClasses и fread; именованные каналы
Я вижу из "Matt Dowle", что fread "может принимать нефайлы, такие как http-адреса и соединения" . Я пробовал пропустить соединение gzip в прошлом без успеха. У кого-нибудь есть пример, показывающий, как можно прочитать файл gzip с fread без, требующий его распаковать локально или используя каналы?
В настоящий момент я распаковываю сетевые файлы, локально читаю их с помощью fread и добавляю их к другим уже прочитанным данным, используя rbindlist. Howerver, я думаю, что может быть более быстрый способ достичь этого.
Кроме того, в соответствии с первоначальным вопросом от "Джеймса" было бы замечательно в предложении открыть и объединить несколько файлов, если была предоставлена поддержка файлов gzip (или файлов, сжатых другим алгоритмом). Возможно, разрешив пользователю пройти fread:
- массив соединений gzip или
- массив файлов и некоторую информацию о типе предоставленного файла (или о том, какой тип подключения использовать) или
- массив файлов и автоматически распознавая, если файл сжаты с использованием gzip или другого формата, или
- комбинации точек 1, 2 и 3
Это может быть уже на месте, и я надеюсь, что кто-то может передать мне примерный код или указать мне в правильном направлении. Я просмотрел проект data.frame R-Forge и отправил это как запрос/ошибку, но я не мог этого сделать (надеюсь, что нет один обижается, если я отправлю это здесь).
Наконец, кто-нибудь знает в R, если возможно прочитать файл в ОЗУ и передать дескриптор этому виртуальному файлу без, чтобы использовать RAM-диски и т.д..
Я надеюсь, что кто-то может помочь мне улучшить производительность моего кода, который направлен на чтение тысяч файлов gzip, расположенных в нашей сети, которые могут иметь разные столбцы данных (т.е. не все файлы будут иметь одинаковые столбцы, но все они имеют хотя бы некоторую степень перекрытия). Общий размер этих файлов составляет около ~ 10 ГБ.