Я использую облачный код r aws.s3 для загрузки файла RDS из s3. У меня есть свое собственное время выполнения R в лямбде. У aws.s3 есть удобный метод s3readRDS ("s3: // pathtoyourfile"). Это хорошо работает, но имеет ограничение в том, что сохраняет файл RDS на диск, а затем должен прочитать его обратно с использованием readRDS. Это хорошо для небольших файлов, но для больших файлов нет необходимости, так как у нас ограниченное дисковое пространство.
Прямо сейчас я как бы застрял с этими большими файлами данных, и возможность вытащить их в базу данных на данный момент просто невозможна из-за целевой группы, поэтому я пытаюсь свести к минимумунаша стоимость и максимальная пропускная способность, и это последний гвоздь в этом гробу.
Согласно документации: «Некоторым пользователям может показаться, что необработанный формат векторного ответа \ code {get_object} незнаком. Объект также будет иметь атрибуты, в том числе \ dQuote {content-type}, который может быть полезен для принятия решения о том, как впоследствии обрабатывать вектор. Ниже приведены две общие стратегии. Для типов текстового содержимого можно запустить \ code {\ link [base] {charToRaw}}самый полезный первый шаг, чтобы сделать ответ понятным для человека. В качестве альтернативы, преобразование необработанного вектора в соединение с помощью \ code {\ link [base] {rawConnection}} также может быть полезным, так как это часто может быть передано в функции синтаксического анализаточно так же, как соединение с файлом. "
На основании этого (и примера использования load ())приведенный ниже код выглядит так, как будто он должен работать, но это не так.
foo <- readRDS(rawConnection(get_object("s3://whatever/foo.rds")))
Error in readRDS(rawConnection(get_object("s3://whatever/foo.rds", :
unknown input format
Я не могу представить поток данных правильным для readRDS или десериализации, чтобы понять это. Я знаю, что файл правильный, так как использование сохранения на диск / загрузка с диска работает нормально. Но я хочу знать, как превратить «foo» в несериализованный объект без сохранения / загрузки.