2014-10-09 17 views
8

Mam ustawienie R na instancji EC2 na AWS. Mam kilka plików CSV przesłanych do wiadra S3. Zastanawiam się, czy istnieje sposób dostępu do plików CSV w pakiecie S3 od R.Aby uzyskać dostęp do zasobnika S3 z R

Każda pomoc/wskazówki byłyby mile widziane.

+1

Używam 'RAmazonS3'. 'install.packages (" RAmazonS3 ", repos =" http://www.omegahat.org/R ", type =" source ")' może działać, aby zainstalować. – jdharrison

+0

@jdharrison - podczas gdy próbuję zainstalować pakiet w systemie Windows, działa dobrze, ale gdy próbuję zainstalować to samo na instancji Ubuntu EC2 hostowanej na AWS, pojawia się następujący błąd podczas próby instalacji z konsoli R: -ERROR: zależność 'bitops' nie jest dostępna dla pakietu 'RCurl' * usuwanie '/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RCurl' BŁĄD: zależności 'RCurl', 'digest' nie są dostępne dla pakietu 'RAmazonS3' * usuwanie '/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3' – user3803555

+0

@jdharrison - i podczas próby zainstalowania tego samego pakietu z R studio zainstalowanego na EC2 maszyna, następujący błąd: - sprawdzanie dla perl .../usr/bin/perl Musisz zainstalować Digest :: HMAC_SHA1 sprawdzanie dla md5sum .../usr/bin/md5sum Zainstaluj odpowiednie oprogramowanie (Digest :: HMAC_SHA1), a następnie ponownie uruchom tę konfigurację. BŁĄD: konfiguracja nie powiodła się dla pakietu 'RAmazonS3' * usunięcie '/home/r/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3' – user3803555

Odpowiedz

-1

Wprowadź następującą komendę: install.packages("AWS.tools")

stamtąd, użyj komendy s3.get(). Zakładka Help powinna Ci powiedzieć, co się dzieje z argumentami.

+2

AWS.tools został zarchiwizowany CRAN na żądanie opiekuna, który teraz pracuje nad pakietem zastępczym o nazwie Rawscli. – MattBagg

+0

Nadal pracuje nad tym – nate

-2

Zainstaluj pakiet libdigest-hmac-perl;

sudo apt-get install libdigest-hmac-perl 
8

Wystarczy popatrzeć na opakowaniu cloudyr aws.s3 (https://github.com/cloudyr/aws.s3), to może zrobić to, co trzeba. Niestety (w czasie pisania), ten pakiet jest dość wczesny etap & trochę niestabilny.

Osiągnąłem dobry sukces, po prostu używając polecenia R system(), aby nawiązać połączenie z interfejsem CLI AWS. Jest to stosunkowo łatwe do uruchomienia, bardzo solidne i bardzo dobrze obsługiwane.

  1. Rozpocznij tutaj: http://aws.amazon.com/cli/
  2. obiekty Lista użyciu S3 API: http://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html
  3. Get obiekty wykorzystujące S3 API: http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html

Tak więc, na przykład, w linii poleceń spróbuj następujących:

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 

W języku R można zrobić coś takiego:

Powiązane problemy