2014-10-09 2 views
8

У меня есть настройка R на экземпляре EC2 на AWS. У меня осталось несколько файлов csv, загруженных в ведро S3. Мне было интересно, есть ли способ получить доступ к файлам csv в ведре S3 из R.Для доступа к ведерке S3 от R

Любые помощь/указатели будут оценены.

+1

Я использую 'RAmazonS3'. 'install.packages (" RAmazonS3 ", repos =" http://www.omegahat.org/R ", type =" source ")' может работать для вас, чтобы установить. – jdharrison

+0

@jdharrison - пока я пытаюсь установить пакет на Windows, он отлично работает, но когда я пытаюсь установить его на экземпляр ubuntu EC2, размещенный на AWS, я получаю следующую ошибку при попытке установить из консоли R: -ERROR: «bitops» зависимостей недоступен для пакета «RCURL» * remove '/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RCurl' ОШИБКА: зависимости RCURl ',' digest 'не являются доступно для пакета «RAmazonS3» * удаление '/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3' – user3803555

+0

@jdharrison - и при попытке установить тот же пакет из студии R, установленной на EC2 машина, следующая ошибка: -учет для perl .../usr/bin/perl Вы должны установить Digest :: HMAC_SHA1 для проверки md5sum .../usr/bin/md5sum Установите соответствующее программное обеспечение (дайджест :: HMAC_SHA1), а затем снова запустите эту конфигурацию. ОШИБКА: сбой конфигурации для пакета «RAmazonS3» * remove '/home/r/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3' – user3803555

ответ

-1

Введите следующую команду: install.packages("AWS.tools")

Оттуда, используйте команду s3.get(). Вкладка Help должна рассказать вам, что происходит для аргументов.

+2

AWS.tools был заархивирован CRAN по просьбе сопровождающего, который сейчас работает над пакетом замены Rawscli. – MattBagg

+0

Он все еще работает над этим – nate

-2

Установите пакет libdigest-hmac-perl;

sudo apt-get install libdigest-hmac-perl 
8

Посмотрите на пакет cloudyr aws.s3 (https://github.com/cloudyr/aws.s3), он может делать то, что вам нужно. К сожалению (на момент написания), этот пакет довольно ранний этап & немного неустойчивый.

У меня был хороший успех, просто используя команду R's system(), чтобы позвонить в AWS CLI. Это относительно легко начать, очень надежно и очень хорошо поддерживается.

  1. Начало здесь: http://aws.amazon.com/cli/
  2. Список объектов с использованием S3 API: http://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html
  3. Получить объекты, использующие S3 API: http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html

Так, например, по команде линии попробуйте следующее:

pip install awscli 
aws configure 
aws s3 help 
aws s3api list-objects --bucket some-bucket --query 'Contents[].{Key: Key}' 
aws s3api get-object --bucket some-bucket --key some_file.csv new_file_name.csv 

В R можно просто сделать что-то вроде:

Смежные вопросы