Amazon Elastic MapReduce (Amazon EMR)

Amazon Elastic MapReduce (Amazon EMR) ist ein Web-Service, mit dem Unternehmen, Forscher, Datenanalysten und Entwickler einfach und kosteneffektiv riesige Datenmengen verarbeiten können. Zum Einsatz kommt dabei ein Hadoop-Framework, das auf der weboptimierten Infrastruktur von Amazon Elastic Compute Cloud (Amazon EC2) und Amazon Simple Storage Service (Amazon S3) ausgeführt wird.

Mit Amazon Elastic MapReduce können Sie ohne Verzögerung so viel oder so wenig Kapazität wie gewünscht bereitstellen, um datenintensive Aufgaben in Anwendungsbereichen wie Webindizierung, Data-Mining, Protokolldateianalyse, maschinelles Lernen, Finanzanalyse, wissenschaftliche Simulation und bioinformatische Forschung durchzuführen. Mit Amazon Elastic MapReduce können Sie sich auf das Zerlegen oder Analysieren Ihrer Daten konzentrieren, ohne sich über die zeitraubende Einrichtung, Verwaltung oder das Abgleichen von Hadoop-Clustern beziehungsweise die Rechenkapazität, auf der diese aufbauen, kümmern zu müssen.

Neuigkeiten
Integration mit Amazon DynamoDB
Amazon Elastic MapReduce lässt sich mit Amazon DynamoDB integrieren. Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankservice, der eine schnelle und vorhersehbare Leistung mit nahtloser Skalierbarkeit bietet. Die Kunden können mithilfe von Elastic MapReduce die in DynamoDB gespeicherten Datasets analysieren und die Ergebnisse entweder wieder in DynamoDB laden oder in Amazon S3 archivieren.
Kostenlose CloudWatch-Metriken (Video)
Hilfe erforderlich?
Stellen Sie Fragen im Elastic MapReduce-Forum

Einfache Anmeldung,
Sie zahlen nur für das, was Sie auch tatsächlich nutzen
Anmelden


Kundenstimmen
Foursquare

"Wir entschieden uns bewusst dafür, die in S3 gespeicherten Daten mit Elastic MapReduce zu analysieren und kein eigenes Hadoop-Cluster zu verwalten. Die Konfiguration und Verwaltung von Hadoop kann eine große Herausforderung sein und dazu führen, dass wochenlang mit der Suche und Entfernung von Programmfehlern zugebracht werden muss. Mit Elastic MapReduce entfällt dieser zusätzliche Zeit- und Arbeitsaufwand, ohne dass spezielle Supportmitarbeiter benötigt werden." Lesen Sie die vollständige Fallstudie.
Mit Amazon Elastic MapReduce entfallen Vorabinvestitionen für Hardware, verzögerte Hardware-Bereitstellungen und die Notwendigkeit, zusätzliche Mitarbeiter einzustellen. Aufgrund der hohen Flexibilität der Plattform übertraf unserer Rendite der Werbeausgaben bei unserer ersten neuen Werbekampagne im Internet die Rendite einer ähnlichen Kampagne im Vorjahr um 500 %. Lesen Sie die vollständige Fallstudie.

Diese Seite enthält folgende Informationskategorien. Klicken Sie auf den Link, um zum Thema zu gelangen:

Funktionsweise von Amazon Elastic MapReduce

Elastic MapReduce erstellt automatisch aus dem MapReduce-Framework auf Amazon EC2 Instances eine Hadoop-Implementierung. Dabei werden die Daten in einem Auftragsablauf in kleinere Einheiten unterteilt, sodass sie parallel verarbeitet werden können - "Zuordnungsfunktion" (map = zuordnen). Zum Schluss werden die verarbeiteten Daten wieder zur endgültigen Lösung kombiniert - "Reduzierungsfunktion" (reduce = reduzieren). Amazon S3 dient als Quelle für die zu analysierenden Daten sowie als Ausgabeziel für das Endergebnis.

Die Verwendung von Amazon Elastic MapReduce ist ganz einfach:

  • Entwickeln Sie die Anwendung für Ihre Datenverarbeitung. Amazon Elastic MapReduce ermöglicht die Entwicklung von Auftragsabläufen in SQL-ähnlichen Sprachen wie Hive und Pig. Dadurch ist es einfacher, analytische Datenskripte ohne die tiefgreifenden Kenntnisse des MapReduce-Entwicklungsparadigmas zu schreiben. Falls gewünscht, können anspruchsvollere Anwendungen auch in Cascading, Java, Ruby, Perl, Python, PHP, R oder C++ geschrieben werden. Im Handbuch "Erste Schritte" finden Sie verschiedene Codebeispiele und Anleitungen, mit deren Hilfe Sie schnell loslegen können.
  • Laden Sie Ihre Daten und Ihre Verarbeitungsanwendung in Amazon S3 hoch. Amazon S3 bietet zuverlässigen, skalierbaren, einfach anzuwendenden Speicher für Ihre Eingabe- und Ausgabedaten.
  • Melden Sie sich bei der AWS Management Console an, um einen Amazon Elastic MapReduce-"Auftragsablauf" zu starten. Wählen Sie einfach Anzahl und Typ der gewünschten Amazon EC2 Instances, geben Sie den Speicherort Ihrer Daten und/oder Anwendung auf Amazon S3 an und klicken Sie anschließend auf die Schaltfläche "Auftragsablauf einrichten". Alternativ können Sie auch einen Auftragsablauf starten, indem Sie die genannten Daten über unsere Befehlszeilen-Tools oder APIs angeben. Für komplexere Auftragsabläufe können Sie zusätzliche Software installieren oder die Konfiguration Ihrer Amazon EC2 Instances mittels Bootstrap Actions ändern.
  • Den Fortschritt Ihrer Auftragsabläufe können Sie direkt über die AWS Management Console, die Befehlszeilen-Tools oder APIs überwachen. Nachdem der Auftragsablauf abgeschlossen ist, können Sie die Ausgabe über Amazon S3 abrufen. Wahlweise können Sie für Schritte, Aufträge, Aufgaben oder versuchte Aufgaben der Arbeitsaufträge direkt im Arbeitsauftrag-Debug-Fenster der AWS Management Console den Fortschritt verfolgen und Probleme identifizieren. Amazon Elastic MapReduce verwendet Amazon SimpleDB, um Statusinformationen der Auftragsabläufe zu speichern.
  • Zahlen Sie nur für die tatsächlich genutzten Ressourcen. Amazon Elastic MapReduce überwacht Ihren Auftragsablauf, und wenn Sie es nicht anders angeben, fährt der Dienst nach Abschluss der Aufgabe auch Ihre Amazon EC2 Instances herunter.

Servicemerkmale

Flexibel – Amazon Elastic MapReduce erlaubt Ihnen, so viele oder so wenige Recheninstanzen, auf denen Hadoop ausgeführt wird, wie gewünscht zu verwenden. Sie können eine, Hunderte oder sogar Tausende Instanzen für die Verarbeitung von Gigabytes, Terabytes oder sogar Petabytes an Daten in Betrieb nehmen. Sie können die Anzahl der Instanzen während des Auftragablaufs ändern und Sie können eine beliebige Anzahl von Auftragsabläufen gleichzeitig ausführen. Sie können ohne Wartezeit große Hadoop-Auftragsabläufe erstellen, mit denen die Verarbeitung innerhalb von Minuten, und nicht von Stunden oder Tagen, gestartet wird. Wenn Sie nichts anderes angegeben haben, fährt der Dienst Ihre Instanzen automatisch herunter, sobald der Auftragsablauf abgeschlossen ist.

Einfache Anwendung – Sie müssen sich nicht um die Einrichtung, die Ausführung oder das Abgleichen von Hadoop-Clustern kümmern. Stattdessen können Sie sich auf die Datenanalyse konzentrieren. Sie erhalten von uns einfach anzuwendende Tools und Beispielanwendungen zur Datenverarbeitung, mit denen Sie ohne auch nur eine einzige Codezeile schreiben zu müssen sofort loslegen können. Nachdem Sie einen Auftragsablauf gestartet haben, kümmert sich Amazon Elastic MapReduce um die Bereitstellung der Amazon EC2 Instances, um die Sicherheitseinstellungen, um die Konfiguration und die Einrichtung von Hadoop, um die Protokollerstellung, um die Statusüberwachung sowie um andere Hardware-bezogene komplexe Aufgaben wie die automatische Entfernung von fehlerhaften Instanzen aus dem laufenden Auftragsablauf.

Zuverlässig – Amazon Elastic MapReduce beruht auf der höchst zuverlässigen Infrastruktur von Amazon und hat die Hadoop-Leistung speziell auf die Infrastrukturumgebung von Amazon abgestimmt. Der Dienst überwacht außerdem die Ausführung der Auftragsabläufe - fehlgeschlagene Aufträge werden wiederholt, problematische Instanzen werden heruntergefahren, neue Knoten werden als Ersatz für fehlgeschlagene Knoten implementiert.

Nahtlose Integration in andere AWS-Dienste – Amazon Elastic MapReduce wurde für die einfache Integration in andere AWS-Dienste wie Amazon S3, DynamoDB und EC2 entwickelt und bietet die Infrastruktur für Anwendungen zur Datenverarbeitung. Der Service führt Auftragsabläufe in Amazon EC2 aus und speichert Eingabe- sowie Ausgabedaten in Amazon S3 und/oder in Amazon DynamoDB.

Sicher – Amazon Elastic MapReduce konfiguriert automatisch die Firewall-Einstellungen von Amazon EC2, mit denen der Netzwerkzugriff auf die und zwischen den Instanzen kontrolliert wird, auf denen die Auftragsabläufe ausgeführt werden. Sie können Auftragsabläufe auch innerhalb der Amazon Virtual Private Cloud (Amazon VPC) starten. Auf diese Weise können Sie Ihre Recheninstanzen durch Angabe des zu verwendenden IP-Bereichs isolieren und mit der nach Branchenstandard verschlüsselten IPsec VPN eine Verbindung zur vorhandenen IP-Infrastruktur herstellen.

Erschwinglich – Amazon Elastic MapReduce gibt die finanziellen Vorteile durch die Größe von Amazon an Sie weiter. Sie zahlen einen sehr geringen Tarif für die Rechenkapazität, die Sie tatsächlich nutzen. Amazon Elastic MapReduce ist so optimiert, dass Sie durch die Überwachung Ihrer Auftragsabläufe und die Abschaltung von Ressourcen bei Abschluss der Auftragsabläufe Geld sparen.

  • On-Demand Instances – Bei On-Demand Instances zahlen Sie ohne langfristige Bindungen für die Rechenkapazität nach Stunde. So werden Sie von den Kosten und der Komplexität durch Planung, Erwerb und Wartung der Hardware befreit. Dabei werden die üblicherweise hohen Fixkosten in deutlich geringere variable Kosten umgewandelt. Mit On-Demand Instances ist es außerdem nicht erforderlich, zusätzliche Kapazität als "Sicherheitsnetz" zu kaufen, um für periodische Verkehrsspitzen gerüstet zu sein.
  • Reserved Instances – Mit Reserved Instances haben Sie die Option, eine geringe einmalige Zahlung für jede Instanz, die Sie reservieren möchten, zu leisten und im Gegenzug einen erheblichen Rabatt auf die Nutzungsgebühr pro Stunde für diese Instanz zu erhalten. Nach der Einmalzahlung für eine Instanz ist diese Instanz für Sie reserviert und Sie haben keine weiteren Verpflichtungen. Sie können sich dafür entscheiden, die Instanz zur ermäßigten Nutzungsgebühr für die Dauer Ihrer Laufzeit auszuführen. Wenn Sie die Instanz nicht verwenden möchten, zahlen Sie auch keine Nutzungsgebühren dafür.
  • Spot Instances – Spot Instances ermöglichen es Ihnen, auf nicht genutzte Amazon-EC2-Kapazitäten zu bieten und diese Instances so lange auszuführen, wie das Gebot über dem aktuellen Spot Price liegt. Der Spot Price ändert sich abhängig von Angebot und Nachfrage in regelmäßigen Abständen. Kunden, deren Gebote diesem Preis entsprechen oder ihn übertreffen, erhalten Zugriff auf die verfügbaren Spot Instances, oftmals zu einem maßgeblich reduzierten Preis. Weitere Informationen finden Sie im Abschnitt Spot Instances im Entwicklerhandbuch für Amazon Elastic MapReduce. Zusätzliche Informationen zu Spot-Instances finden Sie auf der Seite Amazon EC2 Spot Instances.

Mehrere Standorte — Amazon Elastic MapReduce verwendet eine geografisch verteilte EC2-Infrastruktur und ist zurzeit verfügbar in den Regionen US Ost (Nord-Virginia), US West (Oregon), US-West (Nordkalifornien), EU (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Tokio) und Südamerika (Sao Paulo).

Tools von Drittanbietern – Amazon Elastic MapReduce lässt sich mit einer Vielzahl von Tools und Lösungen von Drittanbietern integrieren. Karmasphere Analyst ist beispielsweise ein visueller Desktop-Arbeitsbereich zur Analyse von Daten auf Amazon Elastic MapReduce. Mithilfe der grafischen Tools können Sie SQL-basierte Abfragen von strukturierten und unstrukturierten Daten durchführen und die Ergebnisse veranschaulichen. Karmasphere Analyst ist stundenweise gegen Bezahlung verfügbar und erfordert weder Vorauszahlungen noch langfristige Verpflichtungen. Weitere Informationen finden Sie auf der Detailseite zu Elastic MapReduce mit Karmasphere Analytics.


Funktionen

Um Amazon Elastic MapReduce verwenden zu können, müssen Sie zuerst den gewünschten Typ und die Anzahl der Amazon EC2 Instances auswählen. Amazon Elastic MapReduce funktioniert mit allen Amazon-EC2-Linux/Unix-Instanztypen. Es werden sowohl On-Demand Instances als auch Reserved Instances unterstützt. Wenn Sie Reserved Instances haben, werden diese als erstes von den Auftragsabläufen verwendet. Beachten Sie bitte, dass nur die unten angeführten Instanztypen derzeit von Amazon Elastic MapReduce unterstützt werden.

Amazon-EC2-Standard-Instanzen

Die Instanzen dieser Gruppe eignen sich für die meisten Anwendungen.

  • Small Instance (Vorgabe) 1,7 GB Arbeitsspeicher, 1 EC2 Compute Unit (1 virtueller Kern mit 1 EC2 Recheneinheit), 160 GB Instanzspeicher, 32-Bit-Plattform
  • Large Instance 7,5 GB Arbeitsspeicher, 4 EC2 Compute Units (2 virtuelle Kerne mit jeweils 2 EC2 Recheneinheiten), 850 GB Instanzspeicher, 64-Bit-Plattform
  • Extra Large Instance 15 GB Arbeitsspeicher, 8 EC2 Compute Units (4 virtuelle Kerne mit jeweils 2 EC2 Recheneinheiten), 1.690 GB Instanzspeicher, 64-Bit-Plattform

Amazon EC2 High-Memory Instances

Instanzen dieser Gruppe bieten viel Arbeitsspeicher für Anwendungen mit hoher Durchsatzrate, wie z. B. Anwendungen zum Datenbank- und Arbeitsspeicher-Caching.

  • High-Memory Extra Large Instance 17,1 GB Arbeitsspeicher, 6.5 ECU (2 virtuelle Kerne mit jeweils 3,25 EC2 Recheneinheiten), 420 GB lokaler Instance-Speicher, 64-Bit-Plattform
  • High-Memory Double Extra Large Instance: 34,2 GB Arbeitsspeicher, 13 EC2 Compute Units (4 virtuelle Kerne mit jeweils 3,25 EC2 Recheneinheiten), 850 GB Instanzspeicher, 64-Bit-Plattform
  • High-Memory Quadruple Extra Large Instance 68,4 GB Arbeitsspeicher, 26 EC2 Compute Units (8 virtuelle Kerne mit jeweils 3,25 EC2 Recheneinheiten), 1.690 GB Instanzspeicher, 64-Bit-Plattform

Amazon EC2 High-CPU Instances

Instances dieser Gruppe verfügen über proportional mehr CPU-Ressourcen als Arbeitsspeicher (RAM) und eignen sich für rechenintensive Anwendungen.

  • High-CPU Medium Instance 1,7 GB Arbeitsspeicher, 5 EC2 Compute Units (2 virtuelle Kerne mit jeweils 2,5 EC2), 350 GB Instanzspeicher, 32-Bit-Plattform
  • High-CPU Extra Large Instance 7 GB Arbeitsspeicher, 20 EC2 Compute Units (8 virtuelle Kerne mit jeweils 2,5 EC2 Recheneinheiten), 1.690 GB Instanzspeicher, 64-Bit-Plattform

Hochleistungs-Computing Amazon EC2-Instanzen

Instanzen dieser Familie kombinieren große Speicher und hohe CPU-Ressourcen mit 10 Gbps Networking. Sie eignen sich optimal für E/A-intensive Hochleistungsanwendungen, beispielsweise kartografische Erfassung von Genomen, Simulation von technischen Aktivitäten in Luft- und Raumfahrt sowie Automobilindustrie und Auswertung großer Datenmengen für Business Intelligence.

  • Cluster Compute Quadruple Extra Large 23 GB Speicher, 33,5 EC2 Compute Units, 1.690 GB lokaler Instanzspeicher, 64-Bit Plattform, 10 Gigabit Ethernet
  • Cluster Compute Eight Extra Large 60,5 GB Speicher, 88 EC2 Compute Units, 3370 GB lokaler Instance-Speicher, 64-Bit-Plattform, 10 GB Ethernet
  • Cluster GPU Quadruple Extra Large 22 GB Speicher, 33,5 EC2 Compute Units, 2 x NVIDIA Tesla "Fermi" M2050 GPUs, 1.690 GB lokaler Instanzspeicher, 64-Bit Plattform, 10 Gigabit Ethernet

EC2 Compute Unit (ECU) - Eine EC2 Compute Unit (ECU) bietet die entsprechende CPU-Kapazität eines 1,0- bis 1,2-GHz-Opteron- oder -Xeon-Prozessors von 2007.


Preise

Amazon Elastic MapReduce ist derzeit in den Regionen USA, EU, APAC und Südamerika verfügbar. Sie zahlen nur für das, was Sie auch tatsächlich nutzen. Dabei fallen keine Mindestgebühren an. Amazon Elastic MapReduce wird zusätzlich zu Amazon EC2 und Amazon S3 abgerechnet.

Die Gebühren für Amazon EC2, Amazon S3 und Amazon SimpleDB werden getrennt in Rechnung gestellt. Die Preise für Amazon Elastic MapReduce verstehen sich pro genutzter Instanzstunde je Instanztyp ab dem Verarbeitungsbeginn des Auftragsablaufs bis zu seiner Beendigung. Jede angefangene Instanz-Stunde wird als volle Stunde in Rechnung gestellt. Für weitere Informationen über Amazon-EC2-Instanztypen sowie die Preise für Amazon EC2 Reserved Instances, Amazon S3 oder Amazon SimpleDB klicken Sie auf folgende Links:

Amazon-EC2-Instanztypen

Preise für Amazon EC2 Reserved Instances

Amazon S3 – Preise

Amazon-SimpleDB-Preise


Detaillierte Beschreibung

Amazon Elastic MapReduce verwendet Apache Hadoop als Maschine für verteilte Verarbeitung. Hadoop ist ein Open-Source-Java-Software-Framework, das datenintensive verteilte Anwendungen unterstützt, die auf großen Clustern aus herkömmlicher Hardware ausgeführt werden. Hadoop implementiert ein Rechenmodell namens "MapReduce", in dem die Aufgabe in viele kleine Arbeitsfragmente unterteilt wird. Jedes dieser Arbeitsfragmente kann auf einem beliebigen Knoten im Cluster ausgeführt werden. Dieses Framework wird von Entwicklern, Großunternehmen und Startups eingesetzt und hat sich als zuverlässige Softwareplattform für die Verarbeitung von Daten bis in den Petabyte-Bereich hinein auf Clustern aus tausenden herkömmlichen Rechnern bewährt.

Amazon Elastic MapReduce ermöglicht die Implementierung von Anwendungen zur Datenverarbeitung in vielen Programmiersprachen wie Java, Perl, Ruby, Python, PHP, R und C++. Sie können die Anwendungen mit verschiedenen Instancetypen und Auftragsablaufsgrößen ausprobieren, um die optimalen Leistungseinstellungen für Ihren speziellen Fall zu ermitteln.

Melden Sie sich bei der AWS Management Console an, um einen Amazon Elastic MapReduce-"Auftragsablauf" zu starten. Wählen Sie einfach Anzahl und Typ der gewünschten Amazon EC2 Instances, geben Sie den Speicherort Ihrer Daten und/oder Anwendung auf Amazon S3 an und klicken Sie anschließend auf die Schaltfläche "Auftragsablauf einrichten". Alternativ können Sie auch einen Auftragsablauf starten, indem Sie die genannten Daten über unsere Befehlszeilen-Tools oder APIs angeben. Amazon Elastic MapReduce verwendet eine benutzerfreundliche und äußerst flexible Web-Service-Oberfläche:

  • RunJobFlow: Erstellt eine Auftragsablauf-Anfrage, startet EC2-Instances und beginnt mit der Verarbeitung.
  • DescribeJobFlows: Gibt den Status der Auftragsablauf-Anfrage(n) an.
  • AddJobFlowSteps: Fügt einem bereits laufenden Auftragsablauf weitere Schritte hinzu.
  • TerminateJobFlows: Beendet den laufenden Auftragsablauf und fährt alle Instances herunter.

Wenn Sie Auftragsabläufe mit mehr als 20 Instances ausführen möchten, füllen Sie bitte das Instance-Anforderungsformular aus.

Nutzungsbasierte Zahlung

Ihnen werden nur die tatsächlich genutzten Ressourcen in Rechnung gestellt. Angenommen, Sie haben für einen Amazon Elastic MapReduce-Auftragsablauf 100 Amazon EC2 Standard Small Instances gestartet, wobei die Kosten von Amazon Elastic MapReduce jeweils 0,015 USD pro Stunde betragen. Die Amazon EC2 Instances werden sofort gebootet, sie werden jedoch nicht unbedingt alle im selben Moment gestartet. Amazon Elastic MapReduce hält die Startzeit der einzelnen Instances fest und bindet sie in das Cluster ein, damit sie die Verarbeitung von Aufgaben annehmen können.

In den ersten zehn Minuten nach Ihrer Startanforderung startet Amazon Elastic MapReduce entweder den Auftragsablauf (wenn alle Instances verfügbar sind) oder bindet so viele Instances wie möglich ein. Wenn die zehn Minuten verstrichen und 90 % der angeforderten Instances verfügbar sind, beginnt Amazon Elastic MapReduce mit der Verarbeitung Ihres Auftragsablaufs (und mit der Gebührenerhebung). Wenn die restlichen 10 % der angeforderten Instances eingebunden werden, beginnt Amazon Elastic MapReduce auch mit der Gebührenerhebung für diese Instances.

Wenn also alle der angeforderten 100 Instances zehn Minuten nach Abgabe der Startanforderung verfügbar sind, werden Ihnen 1,50 USD pro Stunde (100 * 0,015 USD) berechnet, bis der Auftragsablauf abgeschlossen ist. Wenn nur 90 der angeforderten Instances nach den zehn Minuten verfügbar sind, werden Ihnen so lange 1,35 USD pro Stunde (90 * 0,015 USD) berechnet, wie dies die Anzahl der Instances ist, auf denen Ihr Auftragsablauf ausgeführt wird. Wenn die verbleibenden zehn Instances eingebunden sind, werden Ihnen so lange 1,50 USD pro Stunde (100 * 0,015 USD) berechnet, wie diese Instances benötigen, um den Auftragsablauf abzuschließen. Jeder Auftragsablauf wird so lange ausgeführt, bis eines der folgenden Ereignisse eintritt: Sie beenden den Auftragsablauf mit der API-Anfrage TerminateJobFlows (oder einem ähnlichen Tool), der Auftragsablauf fährt selbst herunter oder der Auftragsablauf wird auf Grund eines Software- oder Hardwarefehlers beendet. Angefangene Instance-Stunden werden als volle Stunden in Rechnung gestellt.


Vorgesehene Verwendung und Einschränkungen

Die Verwendung dieser Dienstleistung unterliegt der Kundenvereinbarung von Amazon Web Services.


©2011, Amazon.com, Inc. oder Tochtergesellschaften.