Kann ich AWS zum Herunterladen, Speichern und Berechnen verwenden?

339
Mooncrater

Es gibt ein Projekt von mir, das etwa 1,2 TB an Daten erfordert, die aus dem Internet heruntergeladen und über Skripts ausgeführt werden müssen, um sie in ein anderes Endergebnis zu konvertieren. Ich sehe hier drei Probleme:

  1. Das Herunterladen: Ich kann diese Datenmenge aufgrund der niedrigen Downloadrate nicht von meinem Laptop herunterladen.
  2. Der Speicher: Die heruntergeladenen Dateien müssen irgendwo gespeichert werden. Wieder hat mein Laptop nicht genug Speicher, um genau das zu tun (vorausgesetzt, dass er die Dateien magisch herunterladen kann)
  3. Die Verarbeitung: Nach dem Herunterladen und Speichern muss ich Skripts über den Dateien ausführen, um das Endergebnis zu erhalten. Angesichts der enormen Größe der Eingabe kann mein Laptop dies nicht in einer vernünftigen Zeit erledigen.

Daher sehe ich AWS nur als Option. Ich habe mir einige der von ihnen angebotenen Produkte angesehen, und von der Oberfläche aus scheint es, als könnte der Verarbeitungsteil von EC2 (Elastic Cloud Computing) ausgeführt werden, und die Speicherung kann von dem Produkt namens S3 erfolgen, das skalierbar ist Lager.

Ich konnte nichts finden, was meinen Downloadanforderungen entsprach .

Kann ich mit der obigen Lösung auch die Daten herunterladen?

0
Diese Frage erscheint etwas breit (Ich habe die zu offenen Fragen entfernt), aber Sie meinen, die * Verarbeitung * kann über EC2-Instanzen erfolgen (nicht die Speicherung)? Da es sich bei EC2-Instanzen um „normale“ Server mit einigen Betriebssystemen handelt, sollten Sie diese zum Ausführen eines Skripts verwenden, das die Daten in einen S3-Bucket herunterlädt. slhck vor 5 Jahren 1
@slhck bearbeitet. Danke für den Kommentar! Mooncrater vor 5 Jahren 0

1 Antwort auf die Frage

4
slhck

Bei EC2-Instanzen handelt es sich im Wesentlichen um normale Server, auf denen ein Betriebssystem ausgeführt wird. Auf diese Weise können Sie nicht nur die Datenverarbeitungsaufgaben ausführen, sondern auch andere Schritte wie das Herunterladen, insbesondere wenn das Herunterladen eine komplexe Aufgabe ist.

Sie würden eine EC2-Instanz konfigurieren, die einen S3-Bucket permanent in das Betriebssystem einfügt, und dann ein Skript (z. B. ein Shell-Script) erstellen, das die Daten regelmäßig oder semi-regelmäßig herunterlädt und im Bucket speichert.

Eine noch einfachere Option wäre die Verwendung von AWS Lambda, um den Download in S3 durchzuführen, ohne dass ein EC2-Server hochgefahren werden muss. Dies bedeutet, dass Sie die Verarbeitung unabhängig voneinander ausführen können und auch vermeiden müssen, Daten zuerst auf den Server und dann auf S3 zu übertragen .

Beachten Sie, dass jeder Datenvorgang einen bestimmten Preis hat. Lesen Sie daher die Preisrichtlinien von EC2 und S3, und berechnen Sie die vorläufigen Kosten .

Informationen zum Verwenden einer EC2-Instanz zum Laden von Daten in S3 finden Sie unter [hier] (https://datascience.stackexchange.com/questions/5589/downloading-a-large-dataset-on-the-web-directly-into-aws -s3) für ein Beispiel. slhck vor 5 Jahren 0