Exportez, importez, interrogez et joignez des tables dans DynamoDB à l'aide d'Amazon EMR - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exportez, importez, interrogez et joignez des tables dans DynamoDB à l'aide d'Amazon EMR

Note

Le connecteur Amazon EMR -DynamoDB est open source sur. GitHub Pour plus d'informations, consultez https://github.com/awslabs/emr-dynamodb-connector.

DynamoDB est un service SQL sans base de données entièrement géré qui fournit des performances rapides et prévisibles ainsi qu'une évolutivité sans faille. Les développeurs peuvent créer une table de base de données et développer sans limite son trafic de demandes ou son stockage. DynamoDB répartit automatiquement les données et le trafic de la table sur un nombre de serveurs approprié afin de gérer le volume de requêtes spécifié par le client et la quantité de données stockées, tout en assurant la cohérence et la rapidité des performances. Amazon EMR et Hive vous permettent de traiter rapidement et efficacement de grandes quantités de données, telles que les données stockées dans DynamoDB. Pour plus d'informations sur DynamoDB, consultez le manuel du développeur Amazon DynamoDB.

Apache Hive est une couche logicielle que vous pouvez utiliser pour interroger, cartographier et réduire les clusters à l'aide d'un langage de requête SQL simplifié appelé HiveQL. Il s'exécute sur l'architecture Hadoop. Pour plus d'informations sur Hive et HiveQL, consultez le Manuel du langage HiveQL. Pour plus d'informations sur Hive et AmazonEMR, consultezApache Hive.

Vous pouvez utiliser Amazon EMR avec une version personnalisée de Hive qui inclut la connectivité à DynamoDB pour effectuer des opérations sur les données stockées dans DynamoDB :

  • Charger des données DynamoDB dans le système de fichiers distribué Hadoop HDFS () et les utiliser comme entrées dans un cluster Amazon. EMR

  • Interrogation de données DynamoDB en direct à l'aide d'instructions SQL like (HiveQL).

  • Jointure de données stockées dans DynamoDB et exportation ou interrogation par rapport aux données jointes.

  • Exportation de données stockées dans DynamoDB vers Amazon S3.

  • Importation de données stockées dans Amazon S3 vers DynamoDB.

Pour effectuer chacune des tâches suivantes, vous allez lancer un EMR cluster Amazon, spécifier l'emplacement des données dans DynamoDB et exécuter des commandes Hive pour manipuler les données dans DynamoDB.

Il existe plusieurs manières de lancer un EMR cluster Amazon : vous pouvez utiliser la EMR console Amazon, l'interface de ligne de commande (CLI), ou vous pouvez programmer votre cluster à l'aide d'un AWS SDK ou d'Amazon EMRAPI. Vous pouvez également choisir d'exécuter un cluster Hive de façon interactive ou à partir d'un script. Dans cette section, nous allons vous montrer comment lancer un cluster Hive interactif à partir de la EMR console Amazon et duCLI.

L'utilisation interactive de Hive est un excellent moyen de tester les performances des requêtes et de régler votre application. Après avoir défini un ensemble de commandes Hive qui s'exécuteront régulièrement, pensez à créer un script Hive qu'Amazon EMR pourra exécuter pour vous.

Avertissement

Les opérations de EMR lecture ou d'écriture d'Amazon sur une table DynamoDB sont comptabilisées dans votre débit provisionné établi, ce qui peut augmenter la fréquence des exceptions de débit provisionné. Pour les demandes volumineuses, Amazon EMR met en œuvre de nouvelles tentatives avec un retard exponentiel afin de gérer la charge des demandes sur la table DynamoDB. L'exécution de EMR tâches Amazon en même temps que d'autres types de trafic peut vous faire dépasser le niveau de débit alloué. Vous pouvez contrôler cela en vérifiant la ThrottleRequestsmétrique sur Amazon CloudWatch. Si la charge de demandes est trop élevée, vous pouvez relancer le cluster et définir la valeur Paramètre de pourcentage de lecture ou Paramètre de pourcentage d'écriture sur une valeur inférieure pour limiter les opérations Amazon. EMR Pour de plus amples informations sur les paramètres de débit DynamoDB, veuillez consulter Débit alloué.

Si une table est configurée pour le mode à la demande, vous devez la remettre en mode provisionné avant d'exécuter une opération d'exportation ou d'importation. Les pipelines ont besoin d'un ratio de débit pour calculer les ressources à utiliser à partir d'un D. ynamoDBtable Le mode à la demande supprime le débit provisionné. Pour provisionner la capacité de débit, vous pouvez utiliser les métriques Amazon CloudWatch Events pour évaluer le débit agrégé utilisé par une table.