ну, в конце концов, мне удалось найти решение.
df <- get_object(key, bucket = bucket) %>%
rawConnection %>%
gzcon %>%
read_delim( "|", escape_double = FALSE, trim_ws = TRUE, col_names = FALSE)
немного поясняю для всех, кто попадает в такую проблему
метод Get_object является основным методом S3 . С помощью rawConnection вы можете передавать поток gzcon, который является способом чтения и распаковки файла Gzip (своего рода битовый поток, я не знаю, почему это так ...), наконец, read_delim, который ни для кого не является загадкой. и это legen ... подождите ... здесь есть хитрость! при использовании RawConnection R выделяет вектор для вашего файла внутри. и он остается там, пока вы его не закроете. обычно вы создаете один объект, а затем закрываете его, как
x<- rawConnection(<args>)
close(x)
, но в этом случае он создается на лету с использованием magrittr '%>%', поэтому у меня нет ссылки. если вы делаете то же самое, что и я, и читаете данные за месяцы в тысячах файлов в al oop, вы получите сообщение об ошибке
Все соединения используются
не волнуйтесь .. Rawconnection хранит 128 файлов ... вершины .. так что, если вы сохраняете в локальный файл или переменную и используете "метод сборщика мусора" closeAllConnections (), и он стирает все сохраненные файлы как rawconnections