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 | |
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:
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.
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.
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.
Die Instanzen dieser Gruppe eignen sich für die meisten Anwendungen.
Instanzen dieser Gruppe bieten viel Arbeitsspeicher für Anwendungen mit hoher Durchsatzrate, wie z. B. Anwendungen zum Datenbank- und Arbeitsspeicher-Caching.
Instances dieser Gruppe verfügen über proportional mehr CPU-Ressourcen als Arbeitsspeicher (RAM) und eignen sich für rechenintensive Anwendungen.
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.
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.
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:
| Entwicklerressourcen |
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:
Wenn Sie Auftragsabläufe mit mehr als 20 Instances ausführen möchten, füllen Sie bitte das Instance-Anforderungsformular aus.
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.
Die Verwendung dieser Dienstleistung unterliegt der Kundenvereinbarung von Amazon Web Services.