Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tabellen in DynamoDB mit Amazon EMR exportieren, importieren, abfragen und verknüpfen
Anmerkung
Der Amazon EMR-DynamoDB-Connector ist als Open Source verfügbar auf. GitHub Weitere Informationen finden Sie unter https://github.com/awslabs/emr-dynamodb-connector
DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankservice, der schnelle und vorhersehbare Leistung nahtlos skalierbar bereitstellt. Entwickler können eine Datenbanktabelle erstellen und den durch Anfragen erzeugten Datenverkehr oder den Speicher unbegrenzt erweitern. DynamoDB verteilt die Daten und den Datenverkehr für die Tabelle automatisch auf eine ausreichende Anzahl von Servern, um die vom Kunden angegebene Anforderungskapazität zu erreichen und die gespeicherte Datenmenge zu verarbeiten und dabei gleichzeitig eine konsistente, schnelle Leistung beizubehalten. Mit Amazon EMR und Hive können Sie große Datenmengen, z. B. in DynamoDB gespeicherte Date, schnell und effizient verarbeiten. Weitere Informationen über DynamoDB finden Sie im Entwicklerhandbuch von Amazon DynamoDB.
Apache Hive ist ein Software-Layer, mit dem Sie MapReduce-Cluster mithilfe einer vereinfachten, SQL-ähnlichen Sprache namens HiveQL abfragen können. Die Software baut auf der Hadoop-Architektur auf. Weitere Informationen zu Hive und HiveQL erhalten Sie in der HiveQL-Sprachreferenz
Sie können Amazon EMR mit einer benutzerdefinierten Hive-Version verwenden, die Konnektivität mit DynamoDB umfasst, um Operationen für in DynamoDB gespeicherte Daten auszuführen:
-
Laden von DynamoDB-Daten in das Hadoop Distributed File System (HDFS) und deren Verwendung als Input in einem Amazon-EMR-Cluster.
-
Abfragen von Live DynamoDB–Daten mit SQL-ähnlichen Anweisungen (HiveQL).
-
Verknüpfen von in DynamoDB gespeicherten Daten und deren Export oder Abfragen der verknüpften Daten.
-
Exportieren von in DynamoDB gespeicherten Daten nach Amazon S3.
-
Importieren von in Amazon S3 gespeicherten Daten in DynamoDB.
Anmerkung
Der Amazon-EMR-DynamoDB-Konnektor unterstützt keine Cluster, die zur Verwendung der Kerberos-Authentifizierung konfiguriert sind.
Für jede der folgenden Aufgaben starten Sie einen Amazon-EMR-Cluster, geben den Speicherort der Daten in DynamoDB an und führen Hive-Befehle zum Ändern der Daten in DynamoDB aus.
Es gibt mehrere Möglichkeiten, einen Amazon EMR-Cluster zu starten: Sie können die Amazon EMR-Konsole, die Befehlszeilenschnittstelle (CLI) verwenden oder Ihren Cluster mithilfe eines AWS SDK oder der Amazon EMR-API programmieren. Sie können auch bestimmen, ob ein Hive-Cluster interaktiv oder über ein Skript ausgeführt werden soll. In diesem Abschnitt wird beschrieben, wie Sie einen interaktive Hive-Cluster über die Amazon-EMR-Konsole und die CLI starten.
Die interaktive Verwendung von Hive ist eine hervorragende Möglichkeit zum Testen der Abfrageleistung und Optimieren Ihrer Anwendung. Nachdem Sie eine Gruppe von Hive-Befehlen eingerichtet haben, die regelmäßig ausgeführt werden, sollten Sie erwägen, ein Hive-Skript zu erstellen, das Amazon EMR für Sie ausführen kann.
Warnung
Amazon-EMR-Lese- oder Schreibvorgänge in einer DynamoDB-Tabelle werden der festgelegten, bereitgestellten Durchsatzkapazität angerechnet, wodurch sich die Häufigkeit von Ausnahmen des bereitgestellten Durchsatzes erhöht. Bei großen Anforderungen implementiert Amazon EMR Wiederholungen mit exponentiellem Backoff zur Verwaltung der Anforderungslast der DynamoDB-Tabelle. Das Ausführen von Amazon-EMR-Aufträge gleichzeitig mit anderem Datenverkehr kann dazu führen, dass Sie die zugewiesene, bereitgestellte Durchsatzstufe überschreiten. Sie können dies überwachen, indem Sie die ThrottleRequestsMetrik in Amazon überprüfen CloudWatch. Wenn die Anforderungslast zu hoch ist, können Sie den Cluster neu starten und Einstellung der Leserate in Prozent oder Einstellung der Schreibrate in Prozent auf einen geringeren Wert festlegen, um die Amazon-EMR-Operationen zu drosseln. Weitere Informationen zu DynamoDB-Durchsatzeinstellungen finden Sie unter Bereitgestellter Durchsatz.
Wenn eine Tabelle für den On-Demand-Modus konfiguriert ist, sollten Sie die Tabelle wieder in den Bereitstellungsmodus ändern, bevor Sie einen Export- oder Importvorgang ausführen. Pipelines benötigen ein Durchsatzverhältnis, um die von einem Dynamo DBtable zu verwendenden Ressourcen berechnen zu können. Im On-Demand-Modus wird der bereitgestellte Durchsatz entfernt. Um Durchsatzkapazität bereitzustellen, können Sie Amazon CloudWatch Events-Metriken verwenden, um den Gesamtdurchsatz auszuwerten, den eine Tabelle verwendet hat.